Compare commits

...

No commits in common. "master" and "gh-pages" have entirely different histories.

97 changed files with 5092 additions and 929 deletions

View file

@ -1,32 +0,0 @@
name: Arduino Library CI
on: [pull_request, push, repository_dispatch]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/setup-python@v4
with:
python-version: '3.x'
- uses: actions/checkout@v3
- uses: actions/checkout@v3
with:
repository: adafruit/ci-arduino
path: ci
- name: pre-install
run: bash ci/actions_install.sh
- name: test platforms
run: python3 ci/build_platform.py main_platforms
- name: clang
run: python3 ci/run-clang-format.py -e "ci/*" -e "bin/*" -r .
- name: doxygen
env:
GH_REPO_TOKEN: ${{ secrets.GH_REPO_TOKEN }}
PRETTYNAME : "Adafruit MPR121 Library"
run: bash ci/doxy_gen_and_deploy.sh

8
.gitignore vendored
View file

@ -1,8 +0,0 @@
# osx
.DS_Store
# doxygen
Doxyfile*
doxygen_sqlite3.db
html
*.tmp

1
.nojekyll Normal file
View file

@ -0,0 +1 @@

View file

@ -1,286 +0,0 @@
/*!
* @file Adafruit_MPR121.cpp
*
* @mainpage Adafruit MPR121 arduino driver
*
* @section intro_sec Introduction
*
* This is a library for the MPR121 I2C 12-chan Capacitive Sensor
*
* Designed specifically to work with the MPR121 sensor from Adafruit
* ----> https://www.adafruit.com/products/1982
*
* These sensors use I2C to communicate, 2+ pins are required to
* interface
*
* Adafruit invests time and resources providing this open source code,
* please support Adafruit and open-source hardware by purchasing
* products from Adafruit!
*
* @section author Author
*
* Written by Limor Fried/Ladyada for Adafruit Industries.
*
* @section license License
*
* BSD license, all text here must be included in any redistribution.
*/
#include "Adafruit_MPR121.h"
/*!
* @brief Default constructor
*/
Adafruit_MPR121::Adafruit_MPR121() {}
/*!
* @brief Begin an MPR121 object on a given I2C bus. This function resets
* the device and writes the default settings.
* @param i2caddr
* the i2c address the device can be found on. Defaults to 0x5A.
* @param *theWire
* Wire object
* @param touchThreshold
* touch detection threshold value
* @param releaseThreshold
* release detection threshold value
* @param autoconfig
* enable autoconfig option
* @returns true on success, false otherwise
*/
bool Adafruit_MPR121::begin(uint8_t i2caddr, TwoWire *theWire,
uint8_t touchThreshold, uint8_t releaseThreshold,
boolean autoconfig) {
if (i2c_dev) {
delete i2c_dev;
}
i2c_dev = new Adafruit_I2CDevice(i2caddr, theWire);
Serial.println("Adafruit_I2CDevice setup..");
if (!i2c_dev->begin()) {
Serial.println("i2c_dev begin failed..");
return false;
}
Serial.println("done.");
Serial.println("send soft reset..");
// soft reset
writeRegister(MPR121_SOFTRESET, 0x63);
delay(1);
for (uint8_t i = 0; i < 0x7F; i++) {
// Serial.print("$"); Serial.print(i, HEX);
// Serial.print(": 0x"); Serial.println(readRegister8(i), HEX);
}
writeRegister(MPR121_ECR, 0x0);
Serial.print("read: MPR121_CONFIG2 ");
uint8_t c = readRegister8(MPR121_CONFIG2);
Serial.println(c, HEX);
if (c != 0x24)
return false;
Serial.println("write Configuration to sensor ...");
setThresholds(touchThreshold, releaseThreshold);
writeRegister(MPR121_MHDR, 0x01);
writeRegister(MPR121_NHDR, 0x01);
writeRegister(MPR121_NCLR, 0x0E);
writeRegister(MPR121_FDLR, 0x00);
writeRegister(MPR121_MHDF, 0x01);
writeRegister(MPR121_NHDF, 0x05);
writeRegister(MPR121_NCLF, 0x01);
writeRegister(MPR121_FDLF, 0x00);
writeRegister(MPR121_NHDT, 0x00);
writeRegister(MPR121_NCLT, 0x00);
writeRegister(MPR121_FDLT, 0x00);
writeRegister(MPR121_DEBOUNCE, 0);
writeRegister(MPR121_CONFIG1, 0x10); // default, 16uA charge current
writeRegister(MPR121_CONFIG2, 0x20); // 0.5uS encoding, 1ms period
setAutoconfig(autoconfig);
// enable X electrodes = start MPR121
// CL Calibration Lock: B10 = 5 bits for baseline tracking
// ELEPROX_EN proximity: disabled
// ELE_EN Electrode Enable: amount of electrodes running (12)
byte ECR_SETTING = 0b10000000 + 12;
writeRegister(MPR121_ECR, ECR_SETTING); // start with above ECR setting
return true;
}
/*!
* @brief DEPRECATED. Use Adafruit_MPR121::setThresholds(uint8_t touch,
* uint8_t release) instead.
* @param touch
* see Adafruit_MPR121::setThresholds(uint8_t touch, uint8_t
* *release)
* @param release
* see Adafruit_MPR121::setThresholds(uint8_t touch, *uint8_t
* release)
*/
void Adafruit_MPR121::setThreshholds(uint8_t touch, uint8_t release) {
setThresholds(touch, release);
}
/*!
* @brief Enable autoconfig option.
* @param autoconfig
* enable / disabled autoconfig
* when enabled, the MPR121 automatically searches and sets the
* charging parameters for every enabled pad.
* this happens on each time the MPR121 transitions
* from Stop Mode to Run Mode.
*/
void Adafruit_MPR121::setAutoconfig(boolean autoconfig) {
// register map at
// https://www.nxp.com/docs/en/data-sheet/MPR121.pdf#page=17&zoom=auto,-416,747
if (autoconfig) {
// recommend settings found at
// https://www.nxp.com/docs/en/application-note/AN3889.pdf#page=9&zoom=310,-42,373
// FFI (First Filter Iterations) same as FFI in CONFIG1
// FFI → 00 Sets samples taken to 6 (Default)
// RETRY
// RETRY
// BVA same as CL in ECR
// BVA same as CL in ECR
// ARE Auto-Reconfiguration Enable
// ACE Auto-Configuration Enable
// 0x0B == 0b00001011
writeRegister(MPR121_AUTOCONFIG0, 0b00001011);
// details on values
// https://www.nxp.com/docs/en/application-note/AN3889.pdf#page=7&zoom=310,-42,792
// correct values for Vdd = 3.3V
writeRegister(MPR121_UPLIMIT, 200); // ((Vdd - 0.7)/Vdd) * 256
writeRegister(MPR121_TARGETLIMIT, 180); // UPLIMIT * 0.9
writeRegister(MPR121_LOWLIMIT, 130); // UPLIMIT * 0.65
} else {
// really only disable ACE.
writeRegister(MPR121_AUTOCONFIG0, 0b00001010);
}
}
/*!
* @brief Set the touch and release thresholds for all 13 channels on the
* device to the passed values. The threshold is defined as a
* deviation value from the baseline value, so it remains constant
* even baseline value changes. Typically the touch threshold is a little bigger
* than the release threshold to touch debounce and hysteresis. For typical
* touch application, the value can be in range 0x05~0x30 for example. The
* setting of the threshold is depended on the actual application. For the
* operation details and how to set the threshold refer to application note
* AN3892 and MPR121 design guidelines.
* @param touch
* the touch threshold value from 0 to 255.
* @param release
* the release threshold from 0 to 255.
*/
void Adafruit_MPR121::setThresholds(uint8_t touch, uint8_t release) {
// set all thresholds (the same)
for (uint8_t i = 0; i < 12; i++) {
writeRegister(MPR121_TOUCHTH_0 + 2 * i, touch);
writeRegister(MPR121_RELEASETH_0 + 2 * i, release);
}
}
/*!
* @brief Read the filtered data from channel t. The ADC raw data outputs
* run through 3 levels of digital filtering to filter out the high
* frequency and low frequency noise encountered. For detailed information on
* this filtering see page 6 of the device datasheet.
* @param t
* the channel to read
* @returns the filtered reading as a 10 bit unsigned value
*/
uint16_t Adafruit_MPR121::filteredData(uint8_t t) {
if (t > 12)
return 0;
return readRegister16(MPR121_FILTDATA_0L + t * 2);
}
/*!
* @brief Read the baseline value for the channel. The 3rd level filtered
* result is internally 10bit but only high 8 bits are readable
* from registers 0x1E~0x2A as the baseline value output for each channel.
* @param t
* the channel to read.
* @returns the baseline data that was read
*/
uint16_t Adafruit_MPR121::baselineData(uint8_t t) {
if (t > 12)
return 0;
uint16_t bl = readRegister8(MPR121_BASELINE_0 + t);
return (bl << 2);
}
/**
* @brief Read the touch status of all 13 channels as bit values in a 12
* bit integer.
* @returns a 12 bit integer with each bit corresponding to the touch status
* of a sensor. For example, if bit 0 is set then channel 0 of the
* device is currently deemed to be touched.
*/
uint16_t Adafruit_MPR121::touched(void) {
uint16_t t = readRegister16(MPR121_TOUCHSTATUS_L);
return t & 0x0FFF;
}
/*!
* @brief Read the contents of an 8 bit device register.
* @param reg the register address to read from
* @returns the 8 bit value that was read.
*/
uint8_t Adafruit_MPR121::readRegister8(uint8_t reg) {
Adafruit_BusIO_Register thereg = Adafruit_BusIO_Register(i2c_dev, reg, 1);
return (thereg.read());
}
/*!
* @brief Read the contents of a 16 bit device register.
* @param reg the register address to read from
* @returns the 16 bit value that was read.
*/
uint16_t Adafruit_MPR121::readRegister16(uint8_t reg) {
Adafruit_BusIO_Register thereg =
Adafruit_BusIO_Register(i2c_dev, reg, 2, LSBFIRST);
return (thereg.read());
}
/*!
@brief Writes 8-bits to the specified destination register
@param reg the register address to write to
@param value the value to write
*/
void Adafruit_MPR121::writeRegister(uint8_t reg, uint8_t value) {
// MPR121 must be put in Stop Mode to write to most registers
bool stop_required = true;
// first get the current set value of the MPR121_ECR register
Adafruit_BusIO_Register ecr_reg =
Adafruit_BusIO_Register(i2c_dev, MPR121_ECR, 1);
uint8_t ecr_backup = ecr_reg.read();
if ((reg == MPR121_ECR) || ((0x73 <= reg) && (reg <= 0x7A))) {
stop_required = false;
}
if (stop_required) {
// clear this register to set stop mode
ecr_reg.write(0x00);
}
Adafruit_BusIO_Register the_reg = Adafruit_BusIO_Register(i2c_dev, reg, 1);
the_reg.write(value);
if (stop_required) {
// write back the previous set ECR settings
ecr_reg.write(ecr_backup);
}
}

View file

@ -1,112 +0,0 @@
/*!
* @file Adafruit_MPR121.h
*
* This is a library for the MPR121 12-Channel Capacitive Sensor
*
* Designed specifically to work with the MPR121 board.
*
* Pick one up today in the adafruit shop!
* ------> https://www.adafruit.com/product/1982
*
* These sensors use I2C to communicate, 2+ pins are required to interface
*
* Adafruit invests time and resources providing this open source code,
* please support Adafruit andopen-source hardware by purchasing products
* from Adafruit!
*
* Limor Fried/Ladyada (Adafruit Industries).
*
* BSD license, all text above must be included in any redistribution
*/
#ifndef ADAFRUIT_MPR121_H
#define ADAFRUIT_MPR121_H
#include "Arduino.h"
#include <Adafruit_BusIO_Register.h>
#include <Adafruit_I2CDevice.h>
// The default I2C address
#define MPR121_I2CADDR_DEFAULT 0x5A ///< default I2C address
#define MPR121_TOUCH_THRESHOLD_DEFAULT 12 ///< default touch threshold value
#define MPR121_RELEASE_THRESHOLD_DEFAULT 6 ///< default relese threshold value
/*!
* Device register map
*/
enum {
MPR121_TOUCHSTATUS_L = 0x00,
MPR121_TOUCHSTATUS_H = 0x01,
MPR121_FILTDATA_0L = 0x04,
MPR121_FILTDATA_0H = 0x05,
MPR121_BASELINE_0 = 0x1E,
MPR121_MHDR = 0x2B,
MPR121_NHDR = 0x2C,
MPR121_NCLR = 0x2D,
MPR121_FDLR = 0x2E,
MPR121_MHDF = 0x2F,
MPR121_NHDF = 0x30,
MPR121_NCLF = 0x31,
MPR121_FDLF = 0x32,
MPR121_NHDT = 0x33,
MPR121_NCLT = 0x34,
MPR121_FDLT = 0x35,
MPR121_TOUCHTH_0 = 0x41,
MPR121_RELEASETH_0 = 0x42,
MPR121_DEBOUNCE = 0x5B,
MPR121_CONFIG1 = 0x5C,
MPR121_CONFIG2 = 0x5D,
MPR121_CHARGECURR_0 = 0x5F,
MPR121_CHARGETIME_1 = 0x6C,
MPR121_ECR = 0x5E,
MPR121_AUTOCONFIG0 = 0x7B,
MPR121_AUTOCONFIG1 = 0x7C,
MPR121_UPLIMIT = 0x7D,
MPR121_LOWLIMIT = 0x7E,
MPR121_TARGETLIMIT = 0x7F,
MPR121_GPIODIR = 0x76,
MPR121_GPIOEN = 0x77,
MPR121_GPIOSET = 0x78,
MPR121_GPIOCLR = 0x79,
MPR121_GPIOTOGGLE = 0x7A,
MPR121_SOFTRESET = 0x80,
};
//.. thru to 0x1C/0x1D
/*!
* @brief Class that stores state and functions for interacting with MPR121
* proximity capacitive touch sensor controller.
*/
class Adafruit_MPR121 {
public:
// Hardware I2C
Adafruit_MPR121();
bool begin(uint8_t i2caddr = MPR121_I2CADDR_DEFAULT, TwoWire *theWire = &Wire,
uint8_t touchThreshold = MPR121_TOUCH_THRESHOLD_DEFAULT,
uint8_t releaseThreshold = MPR121_RELEASE_THRESHOLD_DEFAULT,
boolean autoconfig = false);
uint16_t filteredData(uint8_t t);
uint16_t baselineData(uint8_t t);
void setAutoconfig(boolean autoconfig);
uint8_t readRegister8(uint8_t reg);
uint16_t readRegister16(uint8_t reg);
void writeRegister(uint8_t reg, uint8_t value);
uint16_t touched(void);
// Add deprecated attribute so that the compiler shows a warning
void setThreshholds(uint8_t touch, uint8_t release)
__attribute__((deprecated));
void setThresholds(uint8_t touch, uint8_t release);
private:
Adafruit_I2CDevice *i2c_dev = NULL;
};
#endif

View file

@ -1,17 +0,0 @@
# Adafruit MPR121 Library [![Build Status](https://github.com/adafruit/Adafruit_MPR121/workflows/Arduino%20Library%20CI/badge.svg)](https://github.com/adafruit/Adafruit_MPR121/actions)
<a href="https://www.adafruit.com/products/1982"><img src="https://cdn-shop.adafruit.com/640x480/1982-08.jpg" height="300"/></a>
Tested and works great with the Adafruit MPR121
* https://www.adafruit.com/products/1982
* https://www.adafruit.com/product/2024
* https://www.adafruit.com/product/2340
Check out the links above for our tutorials and wiring diagrams.
These sensors use I2C to communicate, 2+ pins are required to interface
Adafruit invests time and resources providing this open source code, please support Adafruit and open-source hardware by purchasing products from Adafruit!
Written by Limor Fried/Ladyada (Adafruit Industries).
MIT license, all text above must be included in any redistribution

View file

@ -1,111 +0,0 @@
/*********************************************************
This is a library for the MPR121 12-channel Capacitive touch sensor
Designed specifically to work with the MPR121 Breakout in the Adafruit shop
----> https://www.adafruit.com/products/
These sensors use I2C communicate, at least 2 pins are required
to interface
this sketch demonstrates the auto-config chip-funktionality.
for more information have a look at
https://github.com/adafruit/Adafruit_MPR121/issues/39
https://github.com/adafruit/Adafruit_MPR121/pull/43
based on MPR121test
modified & extended by Carter Nelson/caternuson
MIT license, all text above must be included in any redistribution
**********************************************************/
#include <Wire.h>
#include <Adafruit_MPR121.h>
#ifndef _BV
#define _BV(bit) (1 << (bit))
#endif
Adafruit_MPR121 cap = Adafruit_MPR121();
// Keeps track of the last pins touched
// so we know when buttons are 'released'
uint16_t lasttouched = 0;
uint16_t currtouched = 0;
void dump_regs() {
Serial.println("========================================");
Serial.println("CHAN 00 01 02 03 04 05 06 07 08 09 10 11");
Serial.println(" -- -- -- -- -- -- -- -- -- -- -- --");
// CDC
Serial.print("CDC: ");
for (int chan=0; chan<12; chan++) {
uint8_t reg = cap.readRegister8(0x5F+chan);
if (reg < 10) Serial.print(" ");
Serial.print(reg);
Serial.print(" ");
}
Serial.println();
// CDT
Serial.print("CDT: ");
for (int chan=0; chan<6; chan++) {
uint8_t reg = cap.readRegister8(0x6C+chan);
uint8_t cdtx = reg & 0b111;
uint8_t cdty = (reg >> 4) & 0b111;
if (cdtx < 10) Serial.print(" ");
Serial.print(cdtx);
Serial.print(" ");
if (cdty < 10) Serial.print(" ");
Serial.print(cdty);
Serial.print(" ");
}
Serial.println();
Serial.println("========================================");
}
void setup() {
delay(1000);
Serial.begin(115200);
while (!Serial);
Serial.println("MPR121 Autoconfiguration Test. (MPR121-AutoConfig.ino)");
Serial.println("startup `Wire`");
Wire.begin();
Serial.println("startup `Wire` done.");
delay(100);
Serial.println("cap.begin..");
if (!cap.begin(0x5A, &Wire)) {
Serial.println("MPR121 not found, check wiring?");
while (1);
}
Serial.println("MPR121 found!");
delay(100);
Serial.println("Initial CDC/CDT values:");
dump_regs();
cap.setAutoconfig(true);
Serial.println("After autoconfig CDC/CDT values:");
dump_regs();
}
void loop() {
// Get the currently touched pads
currtouched = cap.touched();
for (uint8_t i=0; i<12; i++) {
// it if *is* touched and *wasnt* touched before, alert!
if ((currtouched & _BV(i)) && !(lasttouched & _BV(i)) ) {
Serial.print(i); Serial.println(" touched");
}
// if it *was* touched and now *isnt*, alert!
if (!(currtouched & _BV(i)) && (lasttouched & _BV(i)) ) {
Serial.print(i); Serial.println(" released");
}
}
// reset our state
lasttouched = currtouched;
}

View file

@ -1,190 +0,0 @@
[Channels]
channel\1\color=@Variant(\0\0\0\x43\x1\xff\xff\xff\xff\xff\xff\0\0\0\0)
channel\1\gain=1
channel\1\gainEnabled=false
channel\1\name=0 touched
channel\1\offset=0
channel\1\offsetEnabled=false
channel\1\visible=true
channel\10\color=@Variant(\0\0\0\x43\x1\xff\xffUUUU\xff\xff\0\0)
channel\10\gain=1
channel\10\gainEnabled=false
channel\10\name=3 touched
channel\10\offset=0
channel\10\offsetEnabled=false
channel\10\visible=true
channel\11\color=@Variant(\0\0\0\x43\x1\xff\xff\x87\x87\x87\x87\xff\xff\0\0)
channel\11\gain=1
channel\11\gainEnabled=false
channel\11\name=3 baseline
channel\11\offset=0
channel\11\offsetEnabled=false
channel\11\visible=true
channel\12\color="@Variant(\0\0\0\x43\x1\xff\xffhh==;;\0\0)"
channel\12\gain=1
channel\12\gainEnabled=false
channel\12\name=3 filtered
channel\12\offset=0
channel\12\offsetEnabled=false
channel\12\visible=true
channel\13\color=@Variant(\0\0\0\x43\x1\xff\xff\0\0\0\0\xff\xff\0\0)
channel\13\gain=1
channel\13\gainEnabled=false
channel\13\name=4 touched
channel\13\offset=0
channel\13\offsetEnabled=false
channel\13\visible=true
channel\14\color=@Variant(\0\0\0\x43\x1\xff\xffUUUU\xff\xff\0\0)
channel\14\gain=1
channel\14\gainEnabled=false
channel\14\name=4 baseline
channel\14\offset=0
channel\14\offsetEnabled=false
channel\14\visible=true
channel\15\color=@Variant(\0\0\0\x43\x1\xff\xffUUUU\xff\xff\0\0)
channel\15\gain=1
channel\15\gainEnabled=false
channel\15\name=4 filtered
channel\15\offset=0
channel\15\offsetEnabled=false
channel\15\visible=true
channel\2\color=@Variant(\0\0\0\x43\x1\xff\xff\xff\xff\xaa\xaa\0\0\0\0)
channel\2\gain=1
channel\2\gainEnabled=false
channel\2\name=0 baseline
channel\2\offset=0
channel\2\offsetEnabled=false
channel\2\visible=true
channel\3\color=@Variant(\0\0\0\x43\x1\xff\xff\xff\xffUU\0\0\0\0)
channel\3\gain=1
channel\3\gainEnabled=false
channel\3\name=0 filtered
channel\3\offset=0
channel\3\offsetEnabled=false
channel\3\visible=true
channel\4\color=@Variant(\0\0\0\x43\x1\xff\xff\0\0\0\0\xff\xff\0\0)
channel\4\gain=1
channel\4\gainEnabled=false
channel\4\name=1 touched
channel\4\offset=0
channel\4\offsetEnabled=false
channel\4\visible=true
channel\5\color=@Variant(\0\0\0\x43\x1\xff\xff\0\0\0\0\x7f\x7f\0\0)
channel\5\gain=1
channel\5\gainEnabled=true
channel\5\name=1 baseline
channel\5\offset=0
channel\5\offsetEnabled=false
channel\5\visible=true
channel\6\color=@Variant(\0\0\0\x43\x1\xff\xff\0\0\xaa\xaa\xff\xff\0\0)
channel\6\gain=1
channel\6\gainEnabled=false
channel\6\name=1 filtered
channel\6\offset=0
channel\6\offsetEnabled=false
channel\6\visible=true
channel\7\color=@Variant(\0\0\0\x43\x1\xff\xff\x87\x87\xff\xffKK\0\0)
channel\7\gain=1
channel\7\gainEnabled=false
channel\7\name=2 touched
channel\7\offset=0
channel\7\offsetEnabled=false
channel\7\visible=true
channel\8\color=@Variant(\0\0\0\x43\x1\xff\xff\xbc\xbc\xff\xff\x9b\x9b\0\0)
channel\8\gain=1
channel\8\gainEnabled=false
channel\8\name=2 baseline
channel\8\offset=0
channel\8\offsetEnabled=false
channel\8\visible=true
channel\9\color=@Variant(\0\0\0\x43\x1\xff\xff\0\0\0\0\xff\xff\0\0)
channel\9\gain=1
channel\9\gainEnabled=false
channel\9\name=2 filtered
channel\9\offset=0
channel\9\offsetEnabled=false
channel\9\visible=true
channel\size=15
[Commands]
command\1\data=
command\1\name=Command 1
command\1\type=ascii
command\size=1
[DataFormat]
format=ascii
[DataFormat_ASCII]
customDelimiter=";"
delimiter=","
filterMode=disabled
filterPrefix=m/s^2
hex=false
numOfChannels=15
[DataFormat_Binary]
endianness=little
numOfChannels=1
numberFormat=uint8
[DataFormat_CustomFrame]
checksum=false
debugMode=false
endianness=little
fixedSize=field1byte
frameSize=1
frameStart=AA BB
numOfChannels=1
numberFormat=uint8
[MainWindow]
activePanel=Plot
hidePanels=false
maximized=true
pos=@Point(0 0)
size=@Size(3072 1659)
state=@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\0\0\0\f\0\0\0\x6\v\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\x1\0\0\0\x2\0\0\0\x3\0\0\0\f\0t\0\x62\0P\0l\0o\0t\x1\0\0\0\0\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x1a\0t\0\x62\0P\0o\0r\0t\0\x43\0o\0n\0t\0r\0o\0l\x1\0\0\0\xdb\xff\xff\xff\xff\0\0\0\0\0\0\0\0\0\0\0\x10\0t\0\x62\0R\0\x65\0\x63\0o\0r\0\x64\x1\0\0\x2\x19\xff\xff\xff\xff\0\0\0\0\0\0\0\0)
[Plot]
autoScale=false
darkBackground=true
decimals=2
grid=true
indexAsX=true
legend=true
legendPos=bottomright
lineThickness=2
minorGrid=true
multiPlot=false
numLines=1000
numOfSamples=1000
plotWidth=1000
symbols=auto
xMax=100
xMin=0
yMax=750
yMin=550
[Port]
baudRate=115200
dataBits=8
flowControl=none
parity=none
selectedPort=ttyACM0
stopBits=1
[Record]
autoIncrement=true
decimals=2
disableBuffering=false
header=true
recordPaused=true
separator=","
stopOnClose=true
timestamp=true
timestampFormat=seconds_with_precision
[UpdateCheck]
lastCheck=2025-06-29
periodicCheck=true

View file

@ -1,70 +0,0 @@
/*********************************************************
This is a library for the MPR121 12-channel Capacitive touch sensor
Designed specifically to work with the MPR121 Breakout in the Adafruit shop
----> https://www.adafruit.com/products/
These sensors use I2C communicate, at least 2 pins are required
to interface
based on MPR121test
modified & extended by Stefan Krüger
**********************************************************/
#include <Adafruit_MPR121.h>
#include <Wire.h>
#ifndef _BV
#define _BV(bit) (1 << (bit))
#endif
Adafruit_MPR121 cap = Adafruit_MPR121();
const uint8_t channelFirst = 0;
const uint8_t channelLast = 5; // max 13
uint16_t currTouched;
void plotValues() {
currTouched = cap.touched();
for (int chan = channelFirst; chan <= channelLast; chan++) {
if (currTouched & _BV(chan)) {
Serial.print("550,");
} else {
Serial.print("0,");
}
Serial.print(cap.filteredData(chan));
Serial.print(",");
Serial.print(cap.filteredData(chan));
Serial.print(", ");
// uint8_t reg = cap.readRegister8(0x5F + chan);
// if (reg < 10)
// Serial.print(" ");
// Serial.print(reg);
}
Serial.println();
}
void setup() {
delay(1000);
Serial.begin(115200);
while (!Serial);
Serial.println("MPR121 Autoconfiguration Test. (MPR121-AutoConfig.ino)");
Wire.begin();
if (!cap.begin(0x5A, &Wire)) {
Serial.println("MPR121 not found, check wiring?");
while (1);
}
Serial.println("MPR121 found!");
cap.setAutoconfig(true);
}
void loop() {
plotValues();
delay(10);
}

View file

@ -1,87 +0,0 @@
/*********************************************************
This is a library for the MPR121 12-channel Capacitive touch sensor
Designed specifically to work with the MPR121 Breakout in the Adafruit shop
----> https://www.adafruit.com/products/
These sensors use I2C communicate, at least 2 pins are required
to interface
Adafruit invests time and resources providing this open source code,
please support Adafruit and open-source hardware by purchasing
products from Adafruit!
Written by Limor Fried/Ladyada for Adafruit Industries.
BSD license, all text above must be included in any redistribution
**********************************************************/
#include <Wire.h>
#include "Adafruit_MPR121.h"
#ifndef _BV
#define _BV(bit) (1 << (bit))
#endif
// You can have up to 4 on one i2c bus but one is enough for testing!
Adafruit_MPR121 cap = Adafruit_MPR121();
// Keeps track of the last pins touched
// so we know when buttons are 'released'
uint16_t lasttouched = 0;
uint16_t currtouched = 0;
void setup() {
Serial.begin(9600);
while (!Serial) { // needed to keep leonardo/micro from starting too fast!
delay(10);
}
Serial.println("Adafruit MPR121 Capacitive Touch sensor test");
// Default address is 0x5A, if tied to 3.3V its 0x5B
// If tied to SDA its 0x5C and if SCL then 0x5D
if (!cap.begin(0x5A)) {
Serial.println("MPR121 not found, check wiring?");
while (1);
}
Serial.println("MPR121 found!");
}
void loop() {
// Get the currently touched pads
currtouched = cap.touched();
for (uint8_t i=0; i<12; i++) {
// it if *is* touched and *wasnt* touched before, alert!
if ((currtouched & _BV(i)) && !(lasttouched & _BV(i)) ) {
Serial.print(i); Serial.println(" touched");
}
// if it *was* touched and now *isnt*, alert!
if (!(currtouched & _BV(i)) && (lasttouched & _BV(i)) ) {
Serial.print(i); Serial.println(" released");
}
}
// reset our state
lasttouched = currtouched;
// comment out this line for detailed data from the sensor!
return;
// debugging info, what
Serial.print("\t\t\t\t\t\t\t\t\t\t\t\t\t 0x"); Serial.println(cap.touched(), HEX);
Serial.print("Filt: ");
for (uint8_t i=0; i<12; i++) {
Serial.print(cap.filteredData(i)); Serial.print("\t");
}
Serial.println();
Serial.print("Base: ");
for (uint8_t i=0; i<12; i++) {
Serial.print(cap.baselineData(i)); Serial.print("\t");
}
Serial.println();
// put a delay so it isn't overwhelming
delay(100);
}

View file

@ -0,0 +1,74 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Adafruit MPR121 Library: Adafruit_MPR121.cpp File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Adafruit MPR121 Library
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">Adafruit_MPR121.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="_adafruit___m_p_r121_8h_source.html">Adafruit_MPR121.h</a>&quot;</code><br />
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>

View file

@ -0,0 +1,178 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Adafruit MPR121 Library: Adafruit_MPR121.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Adafruit MPR121 Library
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#enum-members">Enumerations</a> </div>
<div class="headertitle">
<div class="title">Adafruit_MPR121.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;Arduino.h&quot;</code><br />
<code>#include &lt;Adafruit_BusIO_Register.h&gt;</code><br />
<code>#include &lt;Adafruit_I2CDevice.h&gt;</code><br />
</div>
<p><a href="_adafruit___m_p_r121_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_adafruit___m_p_r121.html">Adafruit_MPR121</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class that stores state and functions for interacting with MPR121 proximity capacitive touch sensor controller. <a href="class_adafruit___m_p_r121.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:aa4a9474e42d9c498f600c9ad8781f714"><td class="memItemLeft" align="right" valign="top"><a id="aa4a9474e42d9c498f600c9ad8781f714"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_adafruit___m_p_r121_8h.html#aa4a9474e42d9c498f600c9ad8781f714">MPR121_I2CADDR_DEFAULT</a>&#160;&#160;&#160;0x5A</td></tr>
<tr class="memdesc:aa4a9474e42d9c498f600c9ad8781f714"><td class="mdescLeft">&#160;</td><td class="mdescRight">default I2C address <br /></td></tr>
<tr class="separator:aa4a9474e42d9c498f600c9ad8781f714"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b3fd951704a4d69529cec6c8996a560"><td class="memItemLeft" align="right" valign="top"><a id="a4b3fd951704a4d69529cec6c8996a560"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_adafruit___m_p_r121_8h.html#a4b3fd951704a4d69529cec6c8996a560">MPR121_TOUCH_THRESHOLD_DEFAULT</a>&#160;&#160;&#160;12</td></tr>
<tr class="memdesc:a4b3fd951704a4d69529cec6c8996a560"><td class="mdescLeft">&#160;</td><td class="mdescRight">default touch threshold value <br /></td></tr>
<tr class="separator:a4b3fd951704a4d69529cec6c8996a560"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af51b589d3c7f29cc43fff6f96715a0e9"><td class="memItemLeft" align="right" valign="top"><a id="af51b589d3c7f29cc43fff6f96715a0e9"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_adafruit___m_p_r121_8h.html#af51b589d3c7f29cc43fff6f96715a0e9">MPR121_RELEASE_THRESHOLD_DEFAULT</a>&#160;&#160;&#160;6</td></tr>
<tr class="memdesc:af51b589d3c7f29cc43fff6f96715a0e9"><td class="mdescLeft">&#160;</td><td class="mdescRight">default relese threshold value <br /></td></tr>
<tr class="separator:af51b589d3c7f29cc43fff6f96715a0e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:a06fc87d81c62e9abb8790b6e5713c55b"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br />
&#160;&#160;<b>MPR121_TOUCHSTATUS_L</b> = 0x00,
<b>MPR121_TOUCHSTATUS_H</b> = 0x01,
<b>MPR121_FILTDATA_0L</b> = 0x04,
<b>MPR121_FILTDATA_0H</b> = 0x05,
<br />
&#160;&#160;<b>MPR121_BASELINE_0</b> = 0x1E,
<b>MPR121_MHDR</b> = 0x2B,
<b>MPR121_NHDR</b> = 0x2C,
<b>MPR121_NCLR</b> = 0x2D,
<br />
&#160;&#160;<b>MPR121_FDLR</b> = 0x2E,
<b>MPR121_MHDF</b> = 0x2F,
<b>MPR121_NHDF</b> = 0x30,
<b>MPR121_NCLF</b> = 0x31,
<br />
&#160;&#160;<b>MPR121_FDLF</b> = 0x32,
<b>MPR121_NHDT</b> = 0x33,
<b>MPR121_NCLT</b> = 0x34,
<b>MPR121_FDLT</b> = 0x35,
<br />
&#160;&#160;<b>MPR121_TOUCHTH_0</b> = 0x41,
<b>MPR121_RELEASETH_0</b> = 0x42,
<b>MPR121_DEBOUNCE</b> = 0x5B,
<b>MPR121_CONFIG1</b> = 0x5C,
<br />
&#160;&#160;<b>MPR121_CONFIG2</b> = 0x5D,
<b>MPR121_CHARGECURR_0</b> = 0x5F,
<b>MPR121_CHARGETIME_1</b> = 0x6C,
<b>MPR121_ECR</b> = 0x5E,
<br />
&#160;&#160;<b>MPR121_AUTOCONFIG0</b> = 0x7B,
<b>MPR121_AUTOCONFIG1</b> = 0x7C,
<b>MPR121_UPLIMIT</b> = 0x7D,
<b>MPR121_LOWLIMIT</b> = 0x7E,
<br />
&#160;&#160;<b>MPR121_TARGETLIMIT</b> = 0x7F,
<b>MPR121_GPIODIR</b> = 0x76,
<b>MPR121_GPIOEN</b> = 0x77,
<b>MPR121_GPIOSET</b> = 0x78,
<br />
&#160;&#160;<b>MPR121_GPIOCLR</b> = 0x79,
<b>MPR121_GPIOTOGGLE</b> = 0x7A,
<b>MPR121_SOFTRESET</b> = 0x80
<br />
}</td></tr>
<tr class="separator:a06fc87d81c62e9abb8790b6e5713c55b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>This is a library for the MPR121 12-Channel Capacitive Sensor</p>
<p>Designed specifically to work with the MPR121 board.</p>
<p>Pick one up today in the adafruit shop! ---&mdash;&gt; <a href="https://www.adafruit.com/product/1982">https://www.adafruit.com/product/1982</a></p>
<p>These sensors use I2C to communicate, 2+ pins are required to interface</p>
<p>Adafruit invests time and resources providing this open source code, please support Adafruit andopen-source hardware by purchasing products from Adafruit!</p>
<p>Limor Fried/Ladyada (Adafruit Industries).</p>
<p>BSD license, all text above must be included in any redistribution </p>
</div><h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="a06fc87d81c62e9abb8790b6e5713c55b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a06fc87d81c62e9abb8790b6e5713c55b">&#9670;&nbsp;</a></span>anonymous enum</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">anonymous enum</td>
</tr>
</table>
</div><div class="memdoc">
<p>Device register map </p>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>

File diff suppressed because one or more lines are too long

78
html/annotated.html Normal file
View file

@ -0,0 +1,78 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Adafruit MPR121 Library: Class List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Adafruit MPR121 Library
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Class List</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here are the classes, structs, unions and interfaces with brief descriptions:</div><div class="directory">
<table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="class_adafruit___m_p_r121.html" target="_self">Adafruit_MPR121</a></td><td class="desc">Class that stores state and functions for interacting with MPR121 proximity capacitive touch sensor controller </td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>

BIN
html/bc_s.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 676 B

BIN
html/bdwn.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 B

View file

@ -0,0 +1,87 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Adafruit MPR121 Library: Member List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Adafruit MPR121 Library
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">Adafruit_MPR121 Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="class_adafruit___m_p_r121.html">Adafruit_MPR121</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="class_adafruit___m_p_r121.html#afc5b7cb3bc0ba4a17d3a1d8728bd3f7b">Adafruit_MPR121</a>()</td><td class="entry"><a class="el" href="class_adafruit___m_p_r121.html">Adafruit_MPR121</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="class_adafruit___m_p_r121.html#a663d5e60aeb04b06697b2c40a33b40f0">baselineData</a>(uint8_t t)</td><td class="entry"><a class="el" href="class_adafruit___m_p_r121.html">Adafruit_MPR121</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_adafruit___m_p_r121.html#a0f961c9913525f3d8b214127cbdb3339">begin</a>(uint8_t i2caddr=MPR121_I2CADDR_DEFAULT, TwoWire *theWire=&amp;Wire, uint8_t touchThreshold=MPR121_TOUCH_THRESHOLD_DEFAULT, uint8_t releaseThreshold=MPR121_RELEASE_THRESHOLD_DEFAULT, boolean autoconfig=false)</td><td class="entry"><a class="el" href="class_adafruit___m_p_r121.html">Adafruit_MPR121</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="class_adafruit___m_p_r121.html#aa5bda4ff04ee361d857b80d95bddbbdb">filteredData</a>(uint8_t t)</td><td class="entry"><a class="el" href="class_adafruit___m_p_r121.html">Adafruit_MPR121</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_adafruit___m_p_r121.html#a171bf9f465d96819293657a589450e61">readRegister16</a>(uint8_t reg)</td><td class="entry"><a class="el" href="class_adafruit___m_p_r121.html">Adafruit_MPR121</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="class_adafruit___m_p_r121.html#a344c416d709121094a21d6892e23d28e">readRegister8</a>(uint8_t reg)</td><td class="entry"><a class="el" href="class_adafruit___m_p_r121.html">Adafruit_MPR121</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_adafruit___m_p_r121.html#a66adfa0474632af6bcd0dbb0d5d94801">setAutoconfig</a>(boolean autoconfig)</td><td class="entry"><a class="el" href="class_adafruit___m_p_r121.html">Adafruit_MPR121</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="class_adafruit___m_p_r121.html#a307f1c580221584c75eb0c5da34982e0">setThreshholds</a>(uint8_t touch, uint8_t release) __attribute__((deprecated))</td><td class="entry"><a class="el" href="class_adafruit___m_p_r121.html">Adafruit_MPR121</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_adafruit___m_p_r121.html#a8588eabc494059b6fe5231b8dd2be416">setThresholds</a>(uint8_t touch, uint8_t release)</td><td class="entry"><a class="el" href="class_adafruit___m_p_r121.html">Adafruit_MPR121</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="class_adafruit___m_p_r121.html#a08b26f327e99b6f205df8907eafcab4c">touched</a>(void)</td><td class="entry"><a class="el" href="class_adafruit___m_p_r121.html">Adafruit_MPR121</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_adafruit___m_p_r121.html#a5dce866e817cfc15933e56b8dc679a13">writeRegister</a>(uint8_t reg, uint8_t value)</td><td class="entry"><a class="el" href="class_adafruit___m_p_r121.html">Adafruit_MPR121</a></td><td class="entry"></td></tr>
</table></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>

View file

@ -0,0 +1,451 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Adafruit MPR121 Library: Adafruit_MPR121 Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Adafruit MPR121 Library
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="class_adafruit___m_p_r121-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">Adafruit_MPR121 Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Class that stores state and functions for interacting with MPR121 proximity capacitive touch sensor controller.
<a href="class_adafruit___m_p_r121.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="_adafruit___m_p_r121_8h_source.html">Adafruit_MPR121.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:afc5b7cb3bc0ba4a17d3a1d8728bd3f7b"><td class="memItemLeft" align="right" valign="top"><a id="afc5b7cb3bc0ba4a17d3a1d8728bd3f7b"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_adafruit___m_p_r121.html#afc5b7cb3bc0ba4a17d3a1d8728bd3f7b">Adafruit_MPR121</a> ()</td></tr>
<tr class="memdesc:afc5b7cb3bc0ba4a17d3a1d8728bd3f7b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Default constructor. <br /></td></tr>
<tr class="separator:afc5b7cb3bc0ba4a17d3a1d8728bd3f7b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f961c9913525f3d8b214127cbdb3339"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_adafruit___m_p_r121.html#a0f961c9913525f3d8b214127cbdb3339">begin</a> (uint8_t i2caddr=<a class="el" href="_adafruit___m_p_r121_8h.html#aa4a9474e42d9c498f600c9ad8781f714">MPR121_I2CADDR_DEFAULT</a>, TwoWire *theWire=&amp;Wire, uint8_t touchThreshold=<a class="el" href="_adafruit___m_p_r121_8h.html#a4b3fd951704a4d69529cec6c8996a560">MPR121_TOUCH_THRESHOLD_DEFAULT</a>, uint8_t releaseThreshold=<a class="el" href="_adafruit___m_p_r121_8h.html#af51b589d3c7f29cc43fff6f96715a0e9">MPR121_RELEASE_THRESHOLD_DEFAULT</a>, boolean autoconfig=false)</td></tr>
<tr class="memdesc:a0f961c9913525f3d8b214127cbdb3339"><td class="mdescLeft">&#160;</td><td class="mdescRight">Begin an MPR121 object on a given I2C bus. This function resets the device and writes the default settings. <a href="#a0f961c9913525f3d8b214127cbdb3339">More...</a><br /></td></tr>
<tr class="separator:a0f961c9913525f3d8b214127cbdb3339"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa5bda4ff04ee361d857b80d95bddbbdb"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_adafruit___m_p_r121.html#aa5bda4ff04ee361d857b80d95bddbbdb">filteredData</a> (uint8_t t)</td></tr>
<tr class="memdesc:aa5bda4ff04ee361d857b80d95bddbbdb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read the filtered data from channel t. The ADC raw data outputs run through 3 levels of digital filtering to filter out the high frequency and low frequency noise encountered. For detailed information on this filtering see page 6 of the device datasheet. <a href="#aa5bda4ff04ee361d857b80d95bddbbdb">More...</a><br /></td></tr>
<tr class="separator:aa5bda4ff04ee361d857b80d95bddbbdb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a663d5e60aeb04b06697b2c40a33b40f0"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_adafruit___m_p_r121.html#a663d5e60aeb04b06697b2c40a33b40f0">baselineData</a> (uint8_t t)</td></tr>
<tr class="memdesc:a663d5e60aeb04b06697b2c40a33b40f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read the baseline value for the channel. The 3rd level filtered result is internally 10bit but only high 8 bits are readable from registers 0x1E~0x2A as the baseline value output for each channel. <a href="#a663d5e60aeb04b06697b2c40a33b40f0">More...</a><br /></td></tr>
<tr class="separator:a663d5e60aeb04b06697b2c40a33b40f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66adfa0474632af6bcd0dbb0d5d94801"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_adafruit___m_p_r121.html#a66adfa0474632af6bcd0dbb0d5d94801">setAutoconfig</a> (boolean autoconfig)</td></tr>
<tr class="memdesc:a66adfa0474632af6bcd0dbb0d5d94801"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enable autoconfig option. <a href="#a66adfa0474632af6bcd0dbb0d5d94801">More...</a><br /></td></tr>
<tr class="separator:a66adfa0474632af6bcd0dbb0d5d94801"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a344c416d709121094a21d6892e23d28e"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_adafruit___m_p_r121.html#a344c416d709121094a21d6892e23d28e">readRegister8</a> (uint8_t reg)</td></tr>
<tr class="memdesc:a344c416d709121094a21d6892e23d28e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read the contents of an 8 bit device register. <a href="#a344c416d709121094a21d6892e23d28e">More...</a><br /></td></tr>
<tr class="separator:a344c416d709121094a21d6892e23d28e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a171bf9f465d96819293657a589450e61"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_adafruit___m_p_r121.html#a171bf9f465d96819293657a589450e61">readRegister16</a> (uint8_t reg)</td></tr>
<tr class="memdesc:a171bf9f465d96819293657a589450e61"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read the contents of a 16 bit device register. <a href="#a171bf9f465d96819293657a589450e61">More...</a><br /></td></tr>
<tr class="separator:a171bf9f465d96819293657a589450e61"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5dce866e817cfc15933e56b8dc679a13"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_adafruit___m_p_r121.html#a5dce866e817cfc15933e56b8dc679a13">writeRegister</a> (uint8_t reg, uint8_t value)</td></tr>
<tr class="memdesc:a5dce866e817cfc15933e56b8dc679a13"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes 8-bits to the specified destination register. <a href="#a5dce866e817cfc15933e56b8dc679a13">More...</a><br /></td></tr>
<tr class="separator:a5dce866e817cfc15933e56b8dc679a13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a08b26f327e99b6f205df8907eafcab4c"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_adafruit___m_p_r121.html#a08b26f327e99b6f205df8907eafcab4c">touched</a> (void)</td></tr>
<tr class="memdesc:a08b26f327e99b6f205df8907eafcab4c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read the touch status of all 13 channels as bit values in a 12 bit integer. <a href="#a08b26f327e99b6f205df8907eafcab4c">More...</a><br /></td></tr>
<tr class="separator:a08b26f327e99b6f205df8907eafcab4c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a307f1c580221584c75eb0c5da34982e0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_adafruit___m_p_r121.html#a307f1c580221584c75eb0c5da34982e0">setThreshholds</a> (uint8_t touch, uint8_t release) __attribute__((deprecated))</td></tr>
<tr class="memdesc:a307f1c580221584c75eb0c5da34982e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">DEPRECATED. Use <a class="el" href="class_adafruit___m_p_r121.html#a8588eabc494059b6fe5231b8dd2be416" title="Set the touch and release thresholds for all 13 channels on the device to the passed values...">Adafruit_MPR121::setThresholds</a>(uint8_t touch, uint8_t release) instead. <a href="#a307f1c580221584c75eb0c5da34982e0">More...</a><br /></td></tr>
<tr class="separator:a307f1c580221584c75eb0c5da34982e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8588eabc494059b6fe5231b8dd2be416"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_adafruit___m_p_r121.html#a8588eabc494059b6fe5231b8dd2be416">setThresholds</a> (uint8_t touch, uint8_t release)</td></tr>
<tr class="memdesc:a8588eabc494059b6fe5231b8dd2be416"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the touch and release thresholds for all 13 channels on the device to the passed values. The threshold is defined as a deviation value from the baseline value, so it remains constant even baseline value changes. Typically the touch threshold is a little bigger than the release threshold to touch debounce and hysteresis. For typical touch application, the value can be in range 0x05~0x30 for example. The setting of the threshold is depended on the actual application. For the operation details and how to set the threshold refer to application note AN3892 and MPR121 design guidelines. <a href="#a8588eabc494059b6fe5231b8dd2be416">More...</a><br /></td></tr>
<tr class="separator:a8588eabc494059b6fe5231b8dd2be416"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Class that stores state and functions for interacting with MPR121 proximity capacitive touch sensor controller. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a0f961c9913525f3d8b214127cbdb3339"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0f961c9913525f3d8b214127cbdb3339">&#9670;&nbsp;</a></span>begin()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool Adafruit_MPR121::begin </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>i2caddr</em> = <code><a class="el" href="_adafruit___m_p_r121_8h.html#aa4a9474e42d9c498f600c9ad8781f714">MPR121_I2CADDR_DEFAULT</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">TwoWire *&#160;</td>
<td class="paramname"><em>theWire</em> = <code>&amp;Wire</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>touchThreshold</em> = <code><a class="el" href="_adafruit___m_p_r121_8h.html#a4b3fd951704a4d69529cec6c8996a560">MPR121_TOUCH_THRESHOLD_DEFAULT</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>releaseThreshold</em> = <code><a class="el" href="_adafruit___m_p_r121_8h.html#af51b589d3c7f29cc43fff6f96715a0e9">MPR121_RELEASE_THRESHOLD_DEFAULT</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">boolean&#160;</td>
<td class="paramname"><em>autoconfig</em> = <code>false</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Begin an MPR121 object on a given I2C bus. This function resets the device and writes the default settings. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">i2caddr</td><td>the i2c address the device can be found on. Defaults to 0x5A. </td></tr>
<tr><td class="paramname">*theWire</td><td>Wire object </td></tr>
<tr><td class="paramname">touchThreshold</td><td>touch detection threshold value </td></tr>
<tr><td class="paramname">releaseThreshold</td><td>release detection threshold value </td></tr>
<tr><td class="paramname">autoconfig</td><td>enable autoconfig option </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true on success, false otherwise </dd></dl>
</div>
</div>
<a id="aa5bda4ff04ee361d857b80d95bddbbdb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa5bda4ff04ee361d857b80d95bddbbdb">&#9670;&nbsp;</a></span>filteredData()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t Adafruit_MPR121::filteredData </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>t</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Read the filtered data from channel t. The ADC raw data outputs run through 3 levels of digital filtering to filter out the high frequency and low frequency noise encountered. For detailed information on this filtering see page 6 of the device datasheet. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">t</td><td>the channel to read </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the filtered reading as a 10 bit unsigned value </dd></dl>
</div>
</div>
<a id="a663d5e60aeb04b06697b2c40a33b40f0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a663d5e60aeb04b06697b2c40a33b40f0">&#9670;&nbsp;</a></span>baselineData()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t Adafruit_MPR121::baselineData </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>t</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Read the baseline value for the channel. The 3rd level filtered result is internally 10bit but only high 8 bits are readable from registers 0x1E~0x2A as the baseline value output for each channel. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">t</td><td>the channel to read. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the baseline data that was read </dd></dl>
</div>
</div>
<a id="a66adfa0474632af6bcd0dbb0d5d94801"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a66adfa0474632af6bcd0dbb0d5d94801">&#9670;&nbsp;</a></span>setAutoconfig()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void Adafruit_MPR121::setAutoconfig </td>
<td>(</td>
<td class="paramtype">boolean&#160;</td>
<td class="paramname"><em>autoconfig</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enable autoconfig option. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">autoconfig</td><td>enable / disabled autoconfig when enabled, the MPR121 automatically searches and sets the charging parameters for every enabled pad. this happens on each time the MPR121 transitions from Stop Mode to Run Mode. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a344c416d709121094a21d6892e23d28e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a344c416d709121094a21d6892e23d28e">&#9670;&nbsp;</a></span>readRegister8()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t Adafruit_MPR121::readRegister8 </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>reg</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Read the contents of an 8 bit device register. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">reg</td><td>the register address to read from </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the 8 bit value that was read. </dd></dl>
</div>
</div>
<a id="a171bf9f465d96819293657a589450e61"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a171bf9f465d96819293657a589450e61">&#9670;&nbsp;</a></span>readRegister16()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t Adafruit_MPR121::readRegister16 </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>reg</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Read the contents of a 16 bit device register. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">reg</td><td>the register address to read from </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the 16 bit value that was read. </dd></dl>
</div>
</div>
<a id="a5dce866e817cfc15933e56b8dc679a13"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5dce866e817cfc15933e56b8dc679a13">&#9670;&nbsp;</a></span>writeRegister()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void Adafruit_MPR121::writeRegister </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>reg</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>value</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Writes 8-bits to the specified destination register. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">reg</td><td>the register address to write to </td></tr>
<tr><td class="paramname">value</td><td>the value to write </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a08b26f327e99b6f205df8907eafcab4c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a08b26f327e99b6f205df8907eafcab4c">&#9670;&nbsp;</a></span>touched()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t Adafruit_MPR121::touched </td>
<td>(</td>
<td class="paramtype">void&#160;</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Read the touch status of all 13 channels as bit values in a 12 bit integer. </p>
<dl class="section return"><dt>Returns</dt><dd>a 12 bit integer with each bit corresponding to the touch status of a sensor. For example, if bit 0 is set then channel 0 of the device is currently deemed to be touched. </dd></dl>
</div>
</div>
<a id="a307f1c580221584c75eb0c5da34982e0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a307f1c580221584c75eb0c5da34982e0">&#9670;&nbsp;</a></span>setThreshholds()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void Adafruit_MPR121::setThreshholds </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>touch</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>release</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>DEPRECATED. Use <a class="el" href="class_adafruit___m_p_r121.html#a8588eabc494059b6fe5231b8dd2be416" title="Set the touch and release thresholds for all 13 channels on the device to the passed values...">Adafruit_MPR121::setThresholds</a>(uint8_t touch, uint8_t release) instead. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">touch</td><td>see <a class="el" href="class_adafruit___m_p_r121.html#a8588eabc494059b6fe5231b8dd2be416" title="Set the touch and release thresholds for all 13 channels on the device to the passed values...">Adafruit_MPR121::setThresholds</a>(uint8_t touch, uint8_t *release) </td></tr>
<tr><td class="paramname">release</td><td>see <a class="el" href="class_adafruit___m_p_r121.html#a8588eabc494059b6fe5231b8dd2be416" title="Set the touch and release thresholds for all 13 channels on the device to the passed values...">Adafruit_MPR121::setThresholds</a>(uint8_t touch, *uint8_t release) </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a8588eabc494059b6fe5231b8dd2be416"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8588eabc494059b6fe5231b8dd2be416">&#9670;&nbsp;</a></span>setThresholds()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void Adafruit_MPR121::setThresholds </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>touch</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>release</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the touch and release thresholds for all 13 channels on the device to the passed values. The threshold is defined as a deviation value from the baseline value, so it remains constant even baseline value changes. Typically the touch threshold is a little bigger than the release threshold to touch debounce and hysteresis. For typical touch application, the value can be in range 0x05~0x30 for example. The setting of the threshold is depended on the actual application. For the operation details and how to set the threshold refer to application note AN3892 and MPR121 design guidelines. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">touch</td><td>the touch threshold value from 0 to 255. </td></tr>
<tr><td class="paramname">release</td><td>the release threshold from 0 to 255. </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="_adafruit___m_p_r121_8h_source.html">Adafruit_MPR121.h</a></li>
<li><a class="el" href="_adafruit___m_p_r121_8cpp.html">Adafruit_MPR121.cpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>

82
html/classes.html Normal file
View file

@ -0,0 +1,82 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Adafruit MPR121 Library: Class Index</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Adafruit MPR121 Library
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Class Index</div> </div>
</div><!--header-->
<div class="contents">
<div class="qindex"><a class="qindex" href="#letter_a">a</a></div>
<table class="classindex">
<tr><td rowspan="2" valign="bottom"><a name="letter_a"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&#160;&#160;a&#160;&#160;</div></td></tr></table>
</td><td></td></tr>
<tr><td></td></tr>
<tr><td valign="top"><a class="el" href="class_adafruit___m_p_r121.html">Adafruit_MPR121</a>&#160;&#160;&#160;</td><td></td></tr>
<tr><td></td><td></td></tr>
</table>
<div class="qindex"><a class="qindex" href="#letter_a">a</a></div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>

BIN
html/closed.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 132 B

BIN
html/doc.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 746 B

1596
html/doxygen.css Normal file

File diff suppressed because it is too large Load diff

BIN
html/doxygen.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

97
html/dynsections.js Normal file
View file

@ -0,0 +1,97 @@
function toggleVisibility(linkObj)
{
var base = $(linkObj).attr('id');
var summary = $('#'+base+'-summary');
var content = $('#'+base+'-content');
var trigger = $('#'+base+'-trigger');
var src=$(trigger).attr('src');
if (content.is(':visible')===true) {
content.hide();
summary.show();
$(linkObj).addClass('closed').removeClass('opened');
$(trigger).attr('src',src.substring(0,src.length-8)+'closed.png');
} else {
content.show();
summary.hide();
$(linkObj).removeClass('closed').addClass('opened');
$(trigger).attr('src',src.substring(0,src.length-10)+'open.png');
}
return false;
}
function updateStripes()
{
$('table.directory tr').
removeClass('even').filter(':visible:even').addClass('even');
}
function toggleLevel(level)
{
$('table.directory tr').each(function() {
var l = this.id.split('_').length-1;
var i = $('#img'+this.id.substring(3));
var a = $('#arr'+this.id.substring(3));
if (l<level+1) {
i.removeClass('iconfopen iconfclosed').addClass('iconfopen');
a.html('&#9660;');
$(this).show();
} else if (l==level+1) {
i.removeClass('iconfclosed iconfopen').addClass('iconfclosed');
a.html('&#9658;');
$(this).show();
} else {
$(this).hide();
}
});
updateStripes();
}
function toggleFolder(id)
{
// the clicked row
var currentRow = $('#row_'+id);
// all rows after the clicked row
var rows = currentRow.nextAll("tr");
var re = new RegExp('^row_'+id+'\\d+_$', "i"); //only one sub
// only match elements AFTER this one (can't hide elements before)
var childRows = rows.filter(function() { return this.id.match(re); });
// first row is visible we are HIDING
if (childRows.filter(':first').is(':visible')===true) {
// replace down arrow by right arrow for current row
var currentRowSpans = currentRow.find("span");
currentRowSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
currentRowSpans.filter(".arrow").html('&#9658;');
rows.filter("[id^=row_"+id+"]").hide(); // hide all children
} else { // we are SHOWING
// replace right arrow by down arrow for current row
var currentRowSpans = currentRow.find("span");
currentRowSpans.filter(".iconfclosed").removeClass("iconfclosed").addClass("iconfopen");
currentRowSpans.filter(".arrow").html('&#9660;');
// replace down arrows by right arrows for child rows
var childRowsSpans = childRows.find("span");
childRowsSpans.filter(".iconfopen").removeClass("iconfopen").addClass("iconfclosed");
childRowsSpans.filter(".arrow").html('&#9658;');
childRows.show(); //show all children
}
updateStripes();
}
function toggleInherit(id)
{
var rows = $('tr.inherit.'+id);
var img = $('tr.inherit_header.'+id+' img');
var src = $(img).attr('src');
if (rows.filter(':first').is(':visible')===true) {
rows.css('display','none');
$(img).attr('src',src.substring(0,src.length-8)+'closed.png');
} else {
rows.css('display','table-row'); // using show() causes jump in firefox
$(img).attr('src',src.substring(0,src.length-10)+'open.png');
}
}

79
html/files.html Normal file
View file

@ -0,0 +1,79 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Adafruit MPR121 Library: File List</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Adafruit MPR121 Library
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">File List</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here is a list of all documented files with brief descriptions:</div><div class="directory">
<table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="_adafruit___m_p_r121_8cpp.html" target="_self">Adafruit_MPR121.cpp</a></td><td class="desc"></td></tr>
<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="_adafruit___m_p_r121_8h_source.html"><span class="icondoc"></span></a><a class="el" href="_adafruit___m_p_r121_8h.html" target="_self">Adafruit_MPR121.h</a></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>

BIN
html/folderclosed.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 616 B

BIN
html/folderopen.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 597 B

104
html/functions.html Normal file
View file

@ -0,0 +1,104 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Adafruit MPR121 Library: Class Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Adafruit MPR121 Library
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="contents">
<div class="textblock">Here is a list of all documented class members with links to the class documentation for each member:</div><ul>
<li>Adafruit_MPR121()
: <a class="el" href="class_adafruit___m_p_r121.html#afc5b7cb3bc0ba4a17d3a1d8728bd3f7b">Adafruit_MPR121</a>
</li>
<li>baselineData()
: <a class="el" href="class_adafruit___m_p_r121.html#a663d5e60aeb04b06697b2c40a33b40f0">Adafruit_MPR121</a>
</li>
<li>begin()
: <a class="el" href="class_adafruit___m_p_r121.html#a0f961c9913525f3d8b214127cbdb3339">Adafruit_MPR121</a>
</li>
<li>filteredData()
: <a class="el" href="class_adafruit___m_p_r121.html#aa5bda4ff04ee361d857b80d95bddbbdb">Adafruit_MPR121</a>
</li>
<li>readRegister16()
: <a class="el" href="class_adafruit___m_p_r121.html#a171bf9f465d96819293657a589450e61">Adafruit_MPR121</a>
</li>
<li>readRegister8()
: <a class="el" href="class_adafruit___m_p_r121.html#a344c416d709121094a21d6892e23d28e">Adafruit_MPR121</a>
</li>
<li>setAutoconfig()
: <a class="el" href="class_adafruit___m_p_r121.html#a66adfa0474632af6bcd0dbb0d5d94801">Adafruit_MPR121</a>
</li>
<li>setThreshholds()
: <a class="el" href="class_adafruit___m_p_r121.html#a307f1c580221584c75eb0c5da34982e0">Adafruit_MPR121</a>
</li>
<li>setThresholds()
: <a class="el" href="class_adafruit___m_p_r121.html#a8588eabc494059b6fe5231b8dd2be416">Adafruit_MPR121</a>
</li>
<li>touched()
: <a class="el" href="class_adafruit___m_p_r121.html#a08b26f327e99b6f205df8907eafcab4c">Adafruit_MPR121</a>
</li>
<li>writeRegister()
: <a class="el" href="class_adafruit___m_p_r121.html#a5dce866e817cfc15933e56b8dc679a13">Adafruit_MPR121</a>
</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>

104
html/functions_func.html Normal file
View file

@ -0,0 +1,104 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Adafruit MPR121 Library: Class Members - Functions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Adafruit MPR121 Library
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="contents">
&#160;<ul>
<li>Adafruit_MPR121()
: <a class="el" href="class_adafruit___m_p_r121.html#afc5b7cb3bc0ba4a17d3a1d8728bd3f7b">Adafruit_MPR121</a>
</li>
<li>baselineData()
: <a class="el" href="class_adafruit___m_p_r121.html#a663d5e60aeb04b06697b2c40a33b40f0">Adafruit_MPR121</a>
</li>
<li>begin()
: <a class="el" href="class_adafruit___m_p_r121.html#a0f961c9913525f3d8b214127cbdb3339">Adafruit_MPR121</a>
</li>
<li>filteredData()
: <a class="el" href="class_adafruit___m_p_r121.html#aa5bda4ff04ee361d857b80d95bddbbdb">Adafruit_MPR121</a>
</li>
<li>readRegister16()
: <a class="el" href="class_adafruit___m_p_r121.html#a171bf9f465d96819293657a589450e61">Adafruit_MPR121</a>
</li>
<li>readRegister8()
: <a class="el" href="class_adafruit___m_p_r121.html#a344c416d709121094a21d6892e23d28e">Adafruit_MPR121</a>
</li>
<li>setAutoconfig()
: <a class="el" href="class_adafruit___m_p_r121.html#a66adfa0474632af6bcd0dbb0d5d94801">Adafruit_MPR121</a>
</li>
<li>setThreshholds()
: <a class="el" href="class_adafruit___m_p_r121.html#a307f1c580221584c75eb0c5da34982e0">Adafruit_MPR121</a>
</li>
<li>setThresholds()
: <a class="el" href="class_adafruit___m_p_r121.html#a8588eabc494059b6fe5231b8dd2be416">Adafruit_MPR121</a>
</li>
<li>touched()
: <a class="el" href="class_adafruit___m_p_r121.html#a08b26f327e99b6f205df8907eafcab4c">Adafruit_MPR121</a>
</li>
<li>writeRegister()
: <a class="el" href="class_adafruit___m_p_r121.html#a5dce866e817cfc15933e56b8dc679a13">Adafruit_MPR121</a>
</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>

80
html/globals.html Normal file
View file

@ -0,0 +1,80 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Adafruit MPR121 Library: File Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Adafruit MPR121 Library
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="contents">
<div class="textblock">Here is a list of all documented file members with links to the documentation:</div><ul>
<li>MPR121_I2CADDR_DEFAULT
: <a class="el" href="_adafruit___m_p_r121_8h.html#aa4a9474e42d9c498f600c9ad8781f714">Adafruit_MPR121.h</a>
</li>
<li>MPR121_RELEASE_THRESHOLD_DEFAULT
: <a class="el" href="_adafruit___m_p_r121_8h.html#af51b589d3c7f29cc43fff6f96715a0e9">Adafruit_MPR121.h</a>
</li>
<li>MPR121_TOUCH_THRESHOLD_DEFAULT
: <a class="el" href="_adafruit___m_p_r121_8h.html#a4b3fd951704a4d69529cec6c8996a560">Adafruit_MPR121.h</a>
</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>

80
html/globals_defs.html Normal file
View file

@ -0,0 +1,80 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Adafruit MPR121 Library: File Members</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Adafruit MPR121 Library
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="contents">
&#160;<ul>
<li>MPR121_I2CADDR_DEFAULT
: <a class="el" href="_adafruit___m_p_r121_8h.html#aa4a9474e42d9c498f600c9ad8781f714">Adafruit_MPR121.h</a>
</li>
<li>MPR121_RELEASE_THRESHOLD_DEFAULT
: <a class="el" href="_adafruit___m_p_r121_8h.html#af51b589d3c7f29cc43fff6f96715a0e9">Adafruit_MPR121.h</a>
</li>
<li>MPR121_TOUCH_THRESHOLD_DEFAULT
: <a class="el" href="_adafruit___m_p_r121_8h.html#a4b3fd951704a4d69529cec6c8996a560">Adafruit_MPR121.h</a>
</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>

85
html/index.html Normal file
View file

@ -0,0 +1,85 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Adafruit MPR121 Library: Adafruit MPR121 arduino driver</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">Adafruit MPR121 Library
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Adafruit MPR121 arduino driver </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><h1><a class="anchor" id="intro_sec"></a>
Introduction</h1>
<p>This is a library for the MPR121 I2C 12-chan Capacitive Sensor</p>
<p>Designed specifically to work with the MPR121 sensor from Adafruit -&mdash;&gt; <a href="https://www.adafruit.com/products/1982">https://www.adafruit.com/products/1982</a></p>
<p>These sensors use I2C to communicate, 2+ pins are required to interface</p>
<p>Adafruit invests time and resources providing this open source code, please support Adafruit and open-source hardware by purchasing products from Adafruit!</p>
<h1><a class="anchor" id="author"></a>
Author</h1>
<p>Written by Limor Fried/Ladyada for Adafruit Industries.</p>
<h1><a class="anchor" id="license"></a>
License</h1>
<p>BSD license, all text here must be included in any redistribution. </p>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.13
</small></address>
</body>
</html>

87
html/jquery.js vendored Normal file

File diff suppressed because one or more lines are too long

26
html/menu.js Normal file
View file

@ -0,0 +1,26 @@
function initMenu(relPath,searchEnabled,serverSide,searchPage,search) {
function makeTree(data,relPath) {
var result='';
if ('children' in data) {
result+='<ul>';
for (var i in data.children) {
result+='<li><a href="'+relPath+data.children[i].url+'">'+
data.children[i].text+'</a>'+
makeTree(data.children[i],relPath)+'</li>';
}
result+='</ul>';
}
return result;
}
$('#main-nav').append(makeTree(menudata,relPath));
$('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu');
if (searchEnabled) {
if (serverSide) {
$('#main-menu').append('<li style="float:right"><div id="MSearchBox" class="MSearchBoxInactive"><div class="left"><form id="FSearchBox" action="'+searchPage+'" method="get"><img id="MSearchSelect" src="'+relPath+'search/mag.png" alt=""/><input type="text" id="MSearchField" name="query" value="'+search+'" size="20" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)"></form></div><div class="right"></div></div></li>');
} else {
$('#main-menu').append('<li style="float:right"><div id="MSearchBox" class="MSearchBoxInactive"><span class="left"><img id="MSearchSelect" src="'+relPath+'search/mag_sel.png" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" alt=""/><input type="text" id="MSearchField" value="'+search+'" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)" onkeyup="searchBox.OnSearchFieldChange(event)"/></span><span class="right"><a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="'+relPath+'search/close.png" alt=""/></a></span></div></li>');
}
}
$('#main-menu').smartmenus();
}

13
html/menudata.js Normal file
View file

@ -0,0 +1,13 @@
var menudata={children:[
{text:"Main Page",url:"index.html"},
{text:"Classes",url:"annotated.html",children:[
{text:"Class List",url:"annotated.html"},
{text:"Class Index",url:"classes.html"},
{text:"Class Members",url:"functions.html",children:[
{text:"All",url:"functions.html"},
{text:"Functions",url:"functions_func.html"}]}]},
{text:"Files",url:"files.html",children:[
{text:"File List",url:"files.html"},
{text:"File Members",url:"globals.html",children:[
{text:"All",url:"globals.html"},
{text:"Macros",url:"globals_defs.html"}]}]}]}

BIN
html/nav_f.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 B

BIN
html/nav_g.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 B

BIN
html/nav_h.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 B

BIN
html/open.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 123 B

26
html/search/all_0.html Normal file
View file

@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_0.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

7
html/search/all_0.js Normal file
View file

@ -0,0 +1,7 @@
var searchData=
[
['adafruit_5fmpr121',['Adafruit_MPR121',['../class_adafruit___m_p_r121.html',1,'Adafruit_MPR121'],['../class_adafruit___m_p_r121.html#afc5b7cb3bc0ba4a17d3a1d8728bd3f7b',1,'Adafruit_MPR121::Adafruit_MPR121()']]],
['adafruit_5fmpr121_2ecpp',['Adafruit_MPR121.cpp',['../_adafruit___m_p_r121_8cpp.html',1,'']]],
['adafruit_5fmpr121_2eh',['Adafruit_MPR121.h',['../_adafruit___m_p_r121_8h.html',1,'']]],
['adafruit_20mpr121_20arduino_20driver',['Adafruit MPR121 arduino driver',['../index.html',1,'']]]
];

26
html/search/all_1.html Normal file
View file

@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_1.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

5
html/search/all_1.js Normal file
View file

@ -0,0 +1,5 @@
var searchData=
[
['baselinedata',['baselineData',['../class_adafruit___m_p_r121.html#a663d5e60aeb04b06697b2c40a33b40f0',1,'Adafruit_MPR121']]],
['begin',['begin',['../class_adafruit___m_p_r121.html#a0f961c9913525f3d8b214127cbdb3339',1,'Adafruit_MPR121']]]
];

26
html/search/all_2.html Normal file
View file

@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_2.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

4
html/search/all_2.js Normal file
View file

@ -0,0 +1,4 @@
var searchData=
[
['filtereddata',['filteredData',['../class_adafruit___m_p_r121.html#aa5bda4ff04ee361d857b80d95bddbbdb',1,'Adafruit_MPR121']]]
];

26
html/search/all_3.html Normal file
View file

@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_3.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

6
html/search/all_3.js Normal file
View file

@ -0,0 +1,6 @@
var searchData=
[
['mpr121_5fi2caddr_5fdefault',['MPR121_I2CADDR_DEFAULT',['../_adafruit___m_p_r121_8h.html#aa4a9474e42d9c498f600c9ad8781f714',1,'Adafruit_MPR121.h']]],
['mpr121_5frelease_5fthreshold_5fdefault',['MPR121_RELEASE_THRESHOLD_DEFAULT',['../_adafruit___m_p_r121_8h.html#af51b589d3c7f29cc43fff6f96715a0e9',1,'Adafruit_MPR121.h']]],
['mpr121_5ftouch_5fthreshold_5fdefault',['MPR121_TOUCH_THRESHOLD_DEFAULT',['../_adafruit___m_p_r121_8h.html#a4b3fd951704a4d69529cec6c8996a560',1,'Adafruit_MPR121.h']]]
];

26
html/search/all_4.html Normal file
View file

@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_4.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

5
html/search/all_4.js Normal file
View file

@ -0,0 +1,5 @@
var searchData=
[
['readregister16',['readRegister16',['../class_adafruit___m_p_r121.html#a171bf9f465d96819293657a589450e61',1,'Adafruit_MPR121']]],
['readregister8',['readRegister8',['../class_adafruit___m_p_r121.html#a344c416d709121094a21d6892e23d28e',1,'Adafruit_MPR121']]]
];

26
html/search/all_5.html Normal file
View file

@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_5.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

6
html/search/all_5.js Normal file
View file

@ -0,0 +1,6 @@
var searchData=
[
['setautoconfig',['setAutoconfig',['../class_adafruit___m_p_r121.html#a66adfa0474632af6bcd0dbb0d5d94801',1,'Adafruit_MPR121']]],
['setthreshholds',['setThreshholds',['../class_adafruit___m_p_r121.html#a307f1c580221584c75eb0c5da34982e0',1,'Adafruit_MPR121']]],
['setthresholds',['setThresholds',['../class_adafruit___m_p_r121.html#a8588eabc494059b6fe5231b8dd2be416',1,'Adafruit_MPR121']]]
];

26
html/search/all_6.html Normal file
View file

@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_6.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

4
html/search/all_6.js Normal file
View file

@ -0,0 +1,4 @@
var searchData=
[
['touched',['touched',['../class_adafruit___m_p_r121.html#a08b26f327e99b6f205df8907eafcab4c',1,'Adafruit_MPR121']]]
];

26
html/search/all_7.html Normal file
View file

@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="all_7.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

4
html/search/all_7.js Normal file
View file

@ -0,0 +1,4 @@
var searchData=
[
['writeregister',['writeRegister',['../class_adafruit___m_p_r121.html#a5dce866e817cfc15933e56b8dc679a13',1,'Adafruit_MPR121']]]
];

View file

@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="classes_0.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

4
html/search/classes_0.js Normal file
View file

@ -0,0 +1,4 @@
var searchData=
[
['adafruit_5fmpr121',['Adafruit_MPR121',['../class_adafruit___m_p_r121.html',1,'']]]
];

BIN
html/search/close.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 273 B

View file

@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="defines_0.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

6
html/search/defines_0.js Normal file
View file

@ -0,0 +1,6 @@
var searchData=
[
['mpr121_5fi2caddr_5fdefault',['MPR121_I2CADDR_DEFAULT',['../_adafruit___m_p_r121_8h.html#aa4a9474e42d9c498f600c9ad8781f714',1,'Adafruit_MPR121.h']]],
['mpr121_5frelease_5fthreshold_5fdefault',['MPR121_RELEASE_THRESHOLD_DEFAULT',['../_adafruit___m_p_r121_8h.html#af51b589d3c7f29cc43fff6f96715a0e9',1,'Adafruit_MPR121.h']]],
['mpr121_5ftouch_5fthreshold_5fdefault',['MPR121_TOUCH_THRESHOLD_DEFAULT',['../_adafruit___m_p_r121_8h.html#a4b3fd951704a4d69529cec6c8996a560',1,'Adafruit_MPR121.h']]]
];

26
html/search/files_0.html Normal file
View file

@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="files_0.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

5
html/search/files_0.js Normal file
View file

@ -0,0 +1,5 @@
var searchData=
[
['adafruit_5fmpr121_2ecpp',['Adafruit_MPR121.cpp',['../_adafruit___m_p_r121_8cpp.html',1,'']]],
['adafruit_5fmpr121_2eh',['Adafruit_MPR121.h',['../_adafruit___m_p_r121_8h.html',1,'']]]
];

View file

@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_0.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

View file

@ -0,0 +1,4 @@
var searchData=
[
['adafruit_5fmpr121',['Adafruit_MPR121',['../class_adafruit___m_p_r121.html#afc5b7cb3bc0ba4a17d3a1d8728bd3f7b',1,'Adafruit_MPR121']]]
];

View file

@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_1.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

View file

@ -0,0 +1,5 @@
var searchData=
[
['baselinedata',['baselineData',['../class_adafruit___m_p_r121.html#a663d5e60aeb04b06697b2c40a33b40f0',1,'Adafruit_MPR121']]],
['begin',['begin',['../class_adafruit___m_p_r121.html#a0f961c9913525f3d8b214127cbdb3339',1,'Adafruit_MPR121']]]
];

View file

@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_2.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

View file

@ -0,0 +1,4 @@
var searchData=
[
['filtereddata',['filteredData',['../class_adafruit___m_p_r121.html#aa5bda4ff04ee361d857b80d95bddbbdb',1,'Adafruit_MPR121']]]
];

View file

@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_3.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

View file

@ -0,0 +1,5 @@
var searchData=
[
['readregister16',['readRegister16',['../class_adafruit___m_p_r121.html#a171bf9f465d96819293657a589450e61',1,'Adafruit_MPR121']]],
['readregister8',['readRegister8',['../class_adafruit___m_p_r121.html#a344c416d709121094a21d6892e23d28e',1,'Adafruit_MPR121']]]
];

View file

@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_4.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

View file

@ -0,0 +1,6 @@
var searchData=
[
['setautoconfig',['setAutoconfig',['../class_adafruit___m_p_r121.html#a66adfa0474632af6bcd0dbb0d5d94801',1,'Adafruit_MPR121']]],
['setthreshholds',['setThreshholds',['../class_adafruit___m_p_r121.html#a307f1c580221584c75eb0c5da34982e0',1,'Adafruit_MPR121']]],
['setthresholds',['setThresholds',['../class_adafruit___m_p_r121.html#a8588eabc494059b6fe5231b8dd2be416',1,'Adafruit_MPR121']]]
];

View file

@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_5.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

View file

@ -0,0 +1,4 @@
var searchData=
[
['touched',['touched',['../class_adafruit___m_p_r121.html#a08b26f327e99b6f205df8907eafcab4c',1,'Adafruit_MPR121']]]
];

View file

@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="functions_6.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

View file

@ -0,0 +1,4 @@
var searchData=
[
['writeregister',['writeRegister',['../class_adafruit___m_p_r121.html#a5dce866e817cfc15933e56b8dc679a13',1,'Adafruit_MPR121']]]
];

BIN
html/search/mag_sel.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 563 B

View file

@ -0,0 +1,12 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</body>
</html>

26
html/search/pages_0.html Normal file
View file

@ -0,0 +1,26 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title></title>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<link rel="stylesheet" type="text/css" href="search.css"/>
<script type="text/javascript" src="pages_0.js"></script>
<script type="text/javascript" src="search.js"></script>
</head>
<body class="SRPage">
<div id="SRIndex">
<div class="SRStatus" id="Loading">Loading...</div>
<div id="SRResults"></div>
<script type="text/javascript"><!--
createResults();
--></script>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
<script type="text/javascript"><!--
document.getElementById("Loading").style.display="none";
document.getElementById("NoMatches").style.display="none";
var searchResults = new SearchResults("searchResults");
searchResults.Search();
--></script>
</div>
</body>
</html>

4
html/search/pages_0.js Normal file
View file

@ -0,0 +1,4 @@
var searchData=
[
['adafruit_20mpr121_20arduino_20driver',['Adafruit MPR121 arduino driver',['../index.html',1,'']]]
];

271
html/search/search.css Normal file
View file

@ -0,0 +1,271 @@
/*---------------- Search Box */
#FSearchBox {
float: left;
}
#MSearchBox {
white-space : nowrap;
float: none;
margin-top: 8px;
right: 0px;
width: 170px;
height: 24px;
z-index: 102;
}
#MSearchBox .left
{
display:block;
position:absolute;
left:10px;
width:20px;
height:19px;
background:url('search_l.png') no-repeat;
background-position:right;
}
#MSearchSelect {
display:block;
position:absolute;
width:20px;
height:19px;
}
.left #MSearchSelect {
left:4px;
}
.right #MSearchSelect {
right:5px;
}
#MSearchField {
display:block;
position:absolute;
height:19px;
background:url('search_m.png') repeat-x;
border:none;
width:115px;
margin-left:20px;
padding-left:4px;
color: #909090;
outline: none;
font: 9pt Arial, Verdana, sans-serif;
-webkit-border-radius: 0px;
}
#FSearchBox #MSearchField {
margin-left:15px;
}
#MSearchBox .right {
display:block;
position:absolute;
right:10px;
top:8px;
width:20px;
height:19px;
background:url('search_r.png') no-repeat;
background-position:left;
}
#MSearchClose {
display: none;
position: absolute;
top: 4px;
background : none;
border: none;
margin: 0px 4px 0px 0px;
padding: 0px 0px;
outline: none;
}
.left #MSearchClose {
left: 6px;
}
.right #MSearchClose {
right: 2px;
}
.MSearchBoxActive #MSearchField {
color: #000000;
}
/*---------------- Search filter selection */
#MSearchSelectWindow {
display: none;
position: absolute;
left: 0; top: 0;
border: 1px solid #90A5CE;
background-color: #F9FAFC;
z-index: 10001;
padding-top: 4px;
padding-bottom: 4px;
-moz-border-radius: 4px;
-webkit-border-top-left-radius: 4px;
-webkit-border-top-right-radius: 4px;
-webkit-border-bottom-left-radius: 4px;
-webkit-border-bottom-right-radius: 4px;
-webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
}
.SelectItem {
font: 8pt Arial, Verdana, sans-serif;
padding-left: 2px;
padding-right: 12px;
border: 0px;
}
span.SelectionMark {
margin-right: 4px;
font-family: monospace;
outline-style: none;
text-decoration: none;
}
a.SelectItem {
display: block;
outline-style: none;
color: #000000;
text-decoration: none;
padding-left: 6px;
padding-right: 12px;
}
a.SelectItem:focus,
a.SelectItem:active {
color: #000000;
outline-style: none;
text-decoration: none;
}
a.SelectItem:hover {
color: #FFFFFF;
background-color: #3D578C;
outline-style: none;
text-decoration: none;
cursor: pointer;
display: block;
}
/*---------------- Search results window */
iframe#MSearchResults {
width: 60ex;
height: 15em;
}
#MSearchResultsWindow {
display: none;
position: absolute;
left: 0; top: 0;
border: 1px solid #000;
background-color: #EEF1F7;
z-index:10000;
}
/* ----------------------------------- */
#SRIndex {
clear:both;
padding-bottom: 15px;
}
.SREntry {
font-size: 10pt;
padding-left: 1ex;
}
.SRPage .SREntry {
font-size: 8pt;
padding: 1px 5px;
}
body.SRPage {
margin: 5px 2px;
}
.SRChildren {
padding-left: 3ex; padding-bottom: .5em
}
.SRPage .SRChildren {
display: none;
}
.SRSymbol {
font-weight: bold;
color: #425E97;
font-family: Arial, Verdana, sans-serif;
text-decoration: none;
outline: none;
}
a.SRScope {
display: block;
color: #425E97;
font-family: Arial, Verdana, sans-serif;
text-decoration: none;
outline: none;
}
a.SRSymbol:focus, a.SRSymbol:active,
a.SRScope:focus, a.SRScope:active {
text-decoration: underline;
}
span.SRScope {
padding-left: 4px;
}
.SRPage .SRStatus {
padding: 2px 5px;
font-size: 8pt;
font-style: italic;
}
.SRResult {
display: none;
}
DIV.searchresults {
margin-left: 10px;
margin-right: 10px;
}
/*---------------- External search page results */
.searchresult {
background-color: #F0F3F8;
}
.pages b {
color: white;
padding: 5px 5px 3px 5px;
background-image: url("../tab_a.png");
background-repeat: repeat-x;
text-shadow: 0 1px 1px #000000;
}
.pages {
line-height: 17px;
margin-left: 4px;
text-decoration: none;
}
.hl {
font-weight: bold;
}
#searchresults {
margin-bottom: 20px;
}
.searchpages {
margin-top: 10px;
}

791
html/search/search.js Normal file
View file

@ -0,0 +1,791 @@
function convertToId(search)
{
var result = '';
for (i=0;i<search.length;i++)
{
var c = search.charAt(i);
var cn = c.charCodeAt(0);
if (c.match(/[a-z0-9\u0080-\uFFFF]/))
{
result+=c;
}
else if (cn<16)
{
result+="_0"+cn.toString(16);
}
else
{
result+="_"+cn.toString(16);
}
}
return result;
}
function getXPos(item)
{
var x = 0;
if (item.offsetWidth)
{
while (item && item!=document.body)
{
x += item.offsetLeft;
item = item.offsetParent;
}
}
return x;
}
function getYPos(item)
{
var y = 0;
if (item.offsetWidth)
{
while (item && item!=document.body)
{
y += item.offsetTop;
item = item.offsetParent;
}
}
return y;
}
/* A class handling everything associated with the search panel.
Parameters:
name - The name of the global variable that will be
storing this instance. Is needed to be able to set timeouts.
resultPath - path to use for external files
*/
function SearchBox(name, resultsPath, inFrame, label)
{
if (!name || !resultsPath) { alert("Missing parameters to SearchBox."); }
// ---------- Instance variables
this.name = name;
this.resultsPath = resultsPath;
this.keyTimeout = 0;
this.keyTimeoutLength = 500;
this.closeSelectionTimeout = 300;
this.lastSearchValue = "";
this.lastResultsPage = "";
this.hideTimeout = 0;
this.searchIndex = 0;
this.searchActive = false;
this.insideFrame = inFrame;
this.searchLabel = label;
// ----------- DOM Elements
this.DOMSearchField = function()
{ return document.getElementById("MSearchField"); }
this.DOMSearchSelect = function()
{ return document.getElementById("MSearchSelect"); }
this.DOMSearchSelectWindow = function()
{ return document.getElementById("MSearchSelectWindow"); }
this.DOMPopupSearchResults = function()
{ return document.getElementById("MSearchResults"); }
this.DOMPopupSearchResultsWindow = function()
{ return document.getElementById("MSearchResultsWindow"); }
this.DOMSearchClose = function()
{ return document.getElementById("MSearchClose"); }
this.DOMSearchBox = function()
{ return document.getElementById("MSearchBox"); }
// ------------ Event Handlers
// Called when focus is added or removed from the search field.
this.OnSearchFieldFocus = function(isActive)
{
this.Activate(isActive);
}
this.OnSearchSelectShow = function()
{
var searchSelectWindow = this.DOMSearchSelectWindow();
var searchField = this.DOMSearchSelect();
if (this.insideFrame)
{
var left = getXPos(searchField);
var top = getYPos(searchField);
left += searchField.offsetWidth + 6;
top += searchField.offsetHeight;
// show search selection popup
searchSelectWindow.style.display='block';
left -= searchSelectWindow.offsetWidth;
searchSelectWindow.style.left = left + 'px';
searchSelectWindow.style.top = top + 'px';
}
else
{
var left = getXPos(searchField);
var top = getYPos(searchField);
top += searchField.offsetHeight;
// show search selection popup
searchSelectWindow.style.display='block';
searchSelectWindow.style.left = left + 'px';
searchSelectWindow.style.top = top + 'px';
}
// stop selection hide timer
if (this.hideTimeout)
{
clearTimeout(this.hideTimeout);
this.hideTimeout=0;
}
return false; // to avoid "image drag" default event
}
this.OnSearchSelectHide = function()
{
this.hideTimeout = setTimeout(this.name +".CloseSelectionWindow()",
this.closeSelectionTimeout);
}
// Called when the content of the search field is changed.
this.OnSearchFieldChange = function(evt)
{
if (this.keyTimeout) // kill running timer
{
clearTimeout(this.keyTimeout);
this.keyTimeout = 0;
}
var e = (evt) ? evt : window.event; // for IE
if (e.keyCode==40 || e.keyCode==13)
{
if (e.shiftKey==1)
{
this.OnSearchSelectShow();
var win=this.DOMSearchSelectWindow();
for (i=0;i<win.childNodes.length;i++)
{
var child = win.childNodes[i]; // get span within a
if (child.className=='SelectItem')
{
child.focus();
return;
}
}
return;
}
else if (window.frames.MSearchResults.searchResults)
{
var elem = window.frames.MSearchResults.searchResults.NavNext(0);
if (elem) elem.focus();
}
}
else if (e.keyCode==27) // Escape out of the search field
{
this.DOMSearchField().blur();
this.DOMPopupSearchResultsWindow().style.display = 'none';
this.DOMSearchClose().style.display = 'none';
this.lastSearchValue = '';
this.Activate(false);
return;
}
// strip whitespaces
var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
if (searchValue != this.lastSearchValue) // search value has changed
{
if (searchValue != "") // non-empty search
{
// set timer for search update
this.keyTimeout = setTimeout(this.name + '.Search()',
this.keyTimeoutLength);
}
else // empty search field
{
this.DOMPopupSearchResultsWindow().style.display = 'none';
this.DOMSearchClose().style.display = 'none';
this.lastSearchValue = '';
}
}
}
this.SelectItemCount = function(id)
{
var count=0;
var win=this.DOMSearchSelectWindow();
for (i=0;i<win.childNodes.length;i++)
{
var child = win.childNodes[i]; // get span within a
if (child.className=='SelectItem')
{
count++;
}
}
return count;
}
this.SelectItemSet = function(id)
{
var i,j=0;
var win=this.DOMSearchSelectWindow();
for (i=0;i<win.childNodes.length;i++)
{
var child = win.childNodes[i]; // get span within a
if (child.className=='SelectItem')
{
var node = child.firstChild;
if (j==id)
{
node.innerHTML='&#8226;';
}
else
{
node.innerHTML='&#160;';
}
j++;
}
}
}
// Called when an search filter selection is made.
// set item with index id as the active item
this.OnSelectItem = function(id)
{
this.searchIndex = id;
this.SelectItemSet(id);
var searchValue = this.DOMSearchField().value.replace(/ +/g, "");
if (searchValue!="" && this.searchActive) // something was found -> do a search
{
this.Search();
}
}
this.OnSearchSelectKey = function(evt)
{
var e = (evt) ? evt : window.event; // for IE
if (e.keyCode==40 && this.searchIndex<this.SelectItemCount()) // Down
{
this.searchIndex++;
this.OnSelectItem(this.searchIndex);
}
else if (e.keyCode==38 && this.searchIndex>0) // Up
{
this.searchIndex--;
this.OnSelectItem(this.searchIndex);
}
else if (e.keyCode==13 || e.keyCode==27)
{
this.OnSelectItem(this.searchIndex);
this.CloseSelectionWindow();
this.DOMSearchField().focus();
}
return false;
}
// --------- Actions
// Closes the results window.
this.CloseResultsWindow = function()
{
this.DOMPopupSearchResultsWindow().style.display = 'none';
this.DOMSearchClose().style.display = 'none';
this.Activate(false);
}
this.CloseSelectionWindow = function()
{
this.DOMSearchSelectWindow().style.display = 'none';
}
// Performs a search.
this.Search = function()
{
this.keyTimeout = 0;
// strip leading whitespace
var searchValue = this.DOMSearchField().value.replace(/^ +/, "");
var code = searchValue.toLowerCase().charCodeAt(0);
var idxChar = searchValue.substr(0, 1).toLowerCase();
if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair
{
idxChar = searchValue.substr(0, 2);
}
var resultsPage;
var resultsPageWithSearch;
var hasResultsPage;
var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar);
if (idx!=-1)
{
var hexCode=idx.toString(16);
resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html';
resultsPageWithSearch = resultsPage+'?'+escape(searchValue);
hasResultsPage = true;
}
else // nothing available for this search term
{
resultsPage = this.resultsPath + '/nomatches.html';
resultsPageWithSearch = resultsPage;
hasResultsPage = false;
}
window.frames.MSearchResults.location = resultsPageWithSearch;
var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow();
if (domPopupSearchResultsWindow.style.display!='block')
{
var domSearchBox = this.DOMSearchBox();
this.DOMSearchClose().style.display = 'inline';
if (this.insideFrame)
{
var domPopupSearchResults = this.DOMPopupSearchResults();
domPopupSearchResultsWindow.style.position = 'relative';
domPopupSearchResultsWindow.style.display = 'block';
var width = document.body.clientWidth - 8; // the -8 is for IE :-(
domPopupSearchResultsWindow.style.width = width + 'px';
domPopupSearchResults.style.width = width + 'px';
}
else
{
var domPopupSearchResults = this.DOMPopupSearchResults();
var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth;
var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1;
domPopupSearchResultsWindow.style.display = 'block';
left -= domPopupSearchResults.offsetWidth;
domPopupSearchResultsWindow.style.top = top + 'px';
domPopupSearchResultsWindow.style.left = left + 'px';
}
}
this.lastSearchValue = searchValue;
this.lastResultsPage = resultsPage;
}
// -------- Activation Functions
// Activates or deactivates the search panel, resetting things to
// their default values if necessary.
this.Activate = function(isActive)
{
if (isActive || // open it
this.DOMPopupSearchResultsWindow().style.display == 'block'
)
{
this.DOMSearchBox().className = 'MSearchBoxActive';
var searchField = this.DOMSearchField();
if (searchField.value == this.searchLabel) // clear "Search" term upon entry
{
searchField.value = '';
this.searchActive = true;
}
}
else if (!isActive) // directly remove the panel
{
this.DOMSearchBox().className = 'MSearchBoxInactive';
this.DOMSearchField().value = this.searchLabel;
this.searchActive = false;
this.lastSearchValue = ''
this.lastResultsPage = '';
}
}
}
// -----------------------------------------------------------------------
// The class that handles everything on the search results page.
function SearchResults(name)
{
// The number of matches from the last run of <Search()>.
this.lastMatchCount = 0;
this.lastKey = 0;
this.repeatOn = false;
// Toggles the visibility of the passed element ID.
this.FindChildElement = function(id)
{
var parentElement = document.getElementById(id);
var element = parentElement.firstChild;
while (element && element!=parentElement)
{
if (element.nodeName == 'DIV' && element.className == 'SRChildren')
{
return element;
}
if (element.nodeName == 'DIV' && element.hasChildNodes())
{
element = element.firstChild;
}
else if (element.nextSibling)
{
element = element.nextSibling;
}
else
{
do
{
element = element.parentNode;
}
while (element && element!=parentElement && !element.nextSibling);
if (element && element!=parentElement)
{
element = element.nextSibling;
}
}
}
}
this.Toggle = function(id)
{
var element = this.FindChildElement(id);
if (element)
{
if (element.style.display == 'block')
{
element.style.display = 'none';
}
else
{
element.style.display = 'block';
}
}
}
// Searches for the passed string. If there is no parameter,
// it takes it from the URL query.
//
// Always returns true, since other documents may try to call it
// and that may or may not be possible.
this.Search = function(search)
{
if (!search) // get search word from URL
{
search = window.location.search;
search = search.substring(1); // Remove the leading '?'
search = unescape(search);
}
search = search.replace(/^ +/, ""); // strip leading spaces
search = search.replace(/ +$/, ""); // strip trailing spaces
search = search.toLowerCase();
search = convertToId(search);
var resultRows = document.getElementsByTagName("div");
var matches = 0;
var i = 0;
while (i < resultRows.length)
{
var row = resultRows.item(i);
if (row.className == "SRResult")
{
var rowMatchName = row.id.toLowerCase();
rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_'
if (search.length<=rowMatchName.length &&
rowMatchName.substr(0, search.length)==search)
{
row.style.display = 'block';
matches++;
}
else
{
row.style.display = 'none';
}
}
i++;
}
document.getElementById("Searching").style.display='none';
if (matches == 0) // no results
{
document.getElementById("NoMatches").style.display='block';
}
else // at least one result
{
document.getElementById("NoMatches").style.display='none';
}
this.lastMatchCount = matches;
return true;
}
// return the first item with index index or higher that is visible
this.NavNext = function(index)
{
var focusItem;
while (1)
{
var focusName = 'Item'+index;
focusItem = document.getElementById(focusName);
if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
{
break;
}
else if (!focusItem) // last element
{
break;
}
focusItem=null;
index++;
}
return focusItem;
}
this.NavPrev = function(index)
{
var focusItem;
while (1)
{
var focusName = 'Item'+index;
focusItem = document.getElementById(focusName);
if (focusItem && focusItem.parentNode.parentNode.style.display=='block')
{
break;
}
else if (!focusItem) // last element
{
break;
}
focusItem=null;
index--;
}
return focusItem;
}
this.ProcessKeys = function(e)
{
if (e.type == "keydown")
{
this.repeatOn = false;
this.lastKey = e.keyCode;
}
else if (e.type == "keypress")
{
if (!this.repeatOn)
{
if (this.lastKey) this.repeatOn = true;
return false; // ignore first keypress after keydown
}
}
else if (e.type == "keyup")
{
this.lastKey = 0;
this.repeatOn = false;
}
return this.lastKey!=0;
}
this.Nav = function(evt,itemIndex)
{
var e = (evt) ? evt : window.event; // for IE
if (e.keyCode==13) return true;
if (!this.ProcessKeys(e)) return false;
if (this.lastKey==38) // Up
{
var newIndex = itemIndex-1;
var focusItem = this.NavPrev(newIndex);
if (focusItem)
{
var child = this.FindChildElement(focusItem.parentNode.parentNode.id);
if (child && child.style.display == 'block') // children visible
{
var n=0;
var tmpElem;
while (1) // search for last child
{
tmpElem = document.getElementById('Item'+newIndex+'_c'+n);
if (tmpElem)
{
focusItem = tmpElem;
}
else // found it!
{
break;
}
n++;
}
}
}
if (focusItem)
{
focusItem.focus();
}
else // return focus to search field
{
parent.document.getElementById("MSearchField").focus();
}
}
else if (this.lastKey==40) // Down
{
var newIndex = itemIndex+1;
var focusItem;
var item = document.getElementById('Item'+itemIndex);
var elem = this.FindChildElement(item.parentNode.parentNode.id);
if (elem && elem.style.display == 'block') // children visible
{
focusItem = document.getElementById('Item'+itemIndex+'_c0');
}
if (!focusItem) focusItem = this.NavNext(newIndex);
if (focusItem) focusItem.focus();
}
else if (this.lastKey==39) // Right
{
var item = document.getElementById('Item'+itemIndex);
var elem = this.FindChildElement(item.parentNode.parentNode.id);
if (elem) elem.style.display = 'block';
}
else if (this.lastKey==37) // Left
{
var item = document.getElementById('Item'+itemIndex);
var elem = this.FindChildElement(item.parentNode.parentNode.id);
if (elem) elem.style.display = 'none';
}
else if (this.lastKey==27) // Escape
{
parent.searchBox.CloseResultsWindow();
parent.document.getElementById("MSearchField").focus();
}
else if (this.lastKey==13) // Enter
{
return true;
}
return false;
}
this.NavChild = function(evt,itemIndex,childIndex)
{
var e = (evt) ? evt : window.event; // for IE
if (e.keyCode==13) return true;
if (!this.ProcessKeys(e)) return false;
if (this.lastKey==38) // Up
{
if (childIndex>0)
{
var newIndex = childIndex-1;
document.getElementById('Item'+itemIndex+'_c'+newIndex).focus();
}
else // already at first child, jump to parent
{
document.getElementById('Item'+itemIndex).focus();
}
}
else if (this.lastKey==40) // Down
{
var newIndex = childIndex+1;
var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex);
if (!elem) // last child, jump to parent next parent
{
elem = this.NavNext(itemIndex+1);
}
if (elem)
{
elem.focus();
}
}
else if (this.lastKey==27) // Escape
{
parent.searchBox.CloseResultsWindow();
parent.document.getElementById("MSearchField").focus();
}
else if (this.lastKey==13) // Enter
{
return true;
}
return false;
}
}
function setKeyActions(elem,action)
{
elem.setAttribute('onkeydown',action);
elem.setAttribute('onkeypress',action);
elem.setAttribute('onkeyup',action);
}
function setClassAttr(elem,attr)
{
elem.setAttribute('class',attr);
elem.setAttribute('className',attr);
}
function createResults()
{
var results = document.getElementById("SRResults");
for (var e=0; e<searchData.length; e++)
{
var id = searchData[e][0];
var srResult = document.createElement('div');
srResult.setAttribute('id','SR_'+id);
setClassAttr(srResult,'SRResult');
var srEntry = document.createElement('div');
setClassAttr(srEntry,'SREntry');
var srLink = document.createElement('a');
srLink.setAttribute('id','Item'+e);
setKeyActions(srLink,'return searchResults.Nav(event,'+e+')');
setClassAttr(srLink,'SRSymbol');
srLink.innerHTML = searchData[e][1][0];
srEntry.appendChild(srLink);
if (searchData[e][1].length==2) // single result
{
srLink.setAttribute('href',searchData[e][1][1][0]);
if (searchData[e][1][1][1])
{
srLink.setAttribute('target','_parent');
}
var srScope = document.createElement('span');
setClassAttr(srScope,'SRScope');
srScope.innerHTML = searchData[e][1][1][2];
srEntry.appendChild(srScope);
}
else // multiple results
{
srLink.setAttribute('href','javascript:searchResults.Toggle("SR_'+id+'")');
var srChildren = document.createElement('div');
setClassAttr(srChildren,'SRChildren');
for (var c=0; c<searchData[e][1].length-1; c++)
{
var srChild = document.createElement('a');
srChild.setAttribute('id','Item'+e+'_c'+c);
setKeyActions(srChild,'return searchResults.NavChild(event,'+e+','+c+')');
setClassAttr(srChild,'SRScope');
srChild.setAttribute('href',searchData[e][1][c+1][0]);
if (searchData[e][1][c+1][1])
{
srChild.setAttribute('target','_parent');
}
srChild.innerHTML = searchData[e][1][c+1][2];
srChildren.appendChild(srChild);
}
srEntry.appendChild(srChildren);
}
srResult.appendChild(srEntry);
results.appendChild(srResult);
}
}
function init_search()
{
var results = document.getElementById("MSearchSelectWindow");
for (var key in indexSectionLabels)
{
var link = document.createElement('a');
link.setAttribute('class','SelectItem');
link.setAttribute('onclick','searchBox.OnSelectItem('+key+')');
link.href='javascript:void(0)';
link.innerHTML='<span class="SelectionMark">&#160;</span>'+indexSectionLabels[key];
results.appendChild(link);
}
searchBox.OnSelectItem(0);
}

BIN
html/search/search_l.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 604 B

BIN
html/search/search_m.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 158 B

BIN
html/search/search_r.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 612 B

30
html/search/searchdata.js Normal file
View file

@ -0,0 +1,30 @@
var indexSectionsWithContent =
{
0: "abfmrstw",
1: "a",
2: "a",
3: "abfrstw",
4: "m",
5: "a"
};
var indexSectionNames =
{
0: "all",
1: "classes",
2: "files",
3: "functions",
4: "defines",
5: "pages"
};
var indexSectionLabels =
{
0: "All",
1: "Classes",
2: "Files",
3: "Functions",
4: "Macros",
5: "Pages"
};

BIN
html/splitbar.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 314 B

BIN
html/sync_off.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 853 B

BIN
html/sync_on.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 845 B

BIN
html/tab_a.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 142 B

BIN
html/tab_b.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 169 B

BIN
html/tab_h.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 177 B

BIN
html/tab_s.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 184 B

1
html/tabs.css Normal file

File diff suppressed because one or more lines are too long

11
index.html Normal file
View file

@ -0,0 +1,11 @@
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<meta http-equiv="refresh" content="1;url=html/index.html">
<title>Page Redirection</title>
</head>
<body>
If you are not redirected automatically, follow the <a href="html/index.html">link to the documentation</a>
</body>
</html>

View file

@ -1,6 +0,0 @@
Adafruit_MPR121 KEYWORD1
begin KEYWORD2
filteredData KEYWORD2
baselineData KEYWORD2
touched KEYWORD2
setThresholds KEYWORD2

View file

@ -1,10 +0,0 @@
name=Adafruit MPR121
version=1.2.0
author=Adafruit <info@adafruit.com>
maintainer=Adafruit <info@adafruit.com>
sentence=Arduino library for the MPR121-based capacitive sensors in the Adafruit shop.
paragraph=Designed specifically to work with the MPR121 Breakout in the Adafruit shop.
category=Sensors
url=https://github.com/adafruit/Adafruit_MPR121
architectures=*
depends=Adafruit BusIO