Compare commits

...

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

98 changed files with 5314 additions and 929 deletions

View file

@ -1,46 +0,0 @@
Thank you for opening an issue on an Adafruit Arduino library repository. To
improve the speed of resolution please review the following guidelines and
common troubleshooting steps below before creating the issue:
- **Do not use GitHub issues for troubleshooting projects and issues.** Instead use
the forums at http://forums.adafruit.com to ask questions and troubleshoot why
something isn't working as expected. In many cases the problem is a common issue
that you will more quickly receive help from the forum community. GitHub issues
are meant for known defects in the code. If you don't know if there is a defect
in the code then start with troubleshooting on the forum first.
- **If following a tutorial or guide be sure you didn't miss a step.** Carefully
check all of the steps and commands to run have been followed. Consult the
forum if you're unsure or have questions about steps in a guide/tutorial.
- **For Arduino projects check these very common issues to ensure they don't apply**:
- For uploading sketches or communicating with the board make sure you're using
a **USB data cable** and **not** a **USB charge-only cable**. It is sometimes
very hard to tell the difference between a data and charge cable! Try using the
cable with other devices or swapping to another cable to confirm it is not
the problem.
- **Be sure you are supplying adequate power to the board.** Check the specs of
your board and plug in an external power supply. In many cases just
plugging a board into your computer is not enough to power it and other
peripherals.
- **Double check all soldering joints and connections.** Flakey connections
cause many mysterious problems. See the [guide to excellent soldering](https://learn.adafruit.com/adafruit-guide-excellent-soldering/tools) for examples of good solder joints.
- **Ensure you are using an official Arduino or Adafruit board.** We can't
guarantee a clone board will have the same functionality and work as expected
with this code and don't support them.
If you're sure this issue is a defect in the code and checked the steps above
please fill in the following fields to provide enough troubleshooting information.
You may delete the guideline and text above to just leave the following details:
- Arduino board: **INSERT ARDUINO BOARD NAME/TYPE HERE**
- Arduino IDE version (found in Arduino -> About Arduino menu): **INSERT ARDUINO
VERSION HERE**
- List the steps to reproduce the problem below (if possible attach a sketch or
copy the sketch code in too): **LIST REPRO STEPS BELOW**

View file

@ -1,26 +0,0 @@
Thank you for creating a pull request to contribute to Adafruit's GitHub code!
Before you open the request please review the following guidelines and tips to
help it be more easily integrated:
- **Describe the scope of your change--i.e. what the change does and what parts
of the code were modified.** This will help us understand any risks of integrating
the code.
- **Describe any known limitations with your change.** For example if the change
doesn't apply to a supported platform of the library please mention it.
- **Please run any tests or examples that can exercise your modified code.** We
strive to not break users of the code and running tests/examples helps with this
process.
Thank you again for contributing! We will try to test and integrate the change
as soon as we can, but be aware we have many GitHub repositories to manage and
can't immediately respond to every request. There is no need to bump or check in
on a pull request (it will clutter the discussion of the request).
Also don't be worried if the request is closed or not integrated--sometimes the
priorities of Adafruit's GitHub code (education, ease of use) might not match the
priorities of the pull request. Don't fret, the open source community thrives on
forks and GitHub makes it easy to keep your changes in a forked repo.
After reviewing the guidelines above you can delete this text from the pull request.

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: 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 PCF8574 Arduino Library"
run: bash ci/doxy_gen_and_deploy.sh
- name: test platforms
run: python3 ci/build_platform.py main_platforms

5
.gitignore vendored
View file

@ -1,5 +0,0 @@
Doxyfile
.vscode/
html/
.DS_Store
.idea

1
.nojekyll Normal file
View file

@ -0,0 +1 @@

View file

@ -1,124 +0,0 @@
/*!
* @file Adafruit_PCF8574.cpp
*
* @mainpage Adafruit PCF8574 I2C Potentiometer
*
* @section intro_sec Introduction
*
* I2C Driver for the NXP PCF8574 I2C GPIO expander
*
* This is a library for the Adafruit PCF8574 breakout:
* http://www.adafruit.com/products
*
* Adafruit invests time and resources providing this open source code,
* please support Adafruit and open-source hardware by purchasing products from
* Adafruit!
*
* @section dependencies Dependencies
*
* This library depends on the Adafruit BusIO library
*
* @section author Author
*
* ladyada for Adafruit Industries
*
* @section license License
*
* BSD (see license.txt)
*
* @section HISTORY
*
* v1.0 - First release
*/
#include "Adafruit_PCF8574.h"
/*!
* @brief Instantiates a new PCF8574 class
*/
Adafruit_PCF8574::Adafruit_PCF8574(void) {}
/*!
* @brief Sets up the hardware and initializes I2C
* @param i2c_address
* The I2C address to be used.
* @param wire
* The Wire object to be used for I2C connections.
* @return True if initialization was successful, otherwise false.
*/
bool Adafruit_PCF8574::begin(uint8_t i2c_address, TwoWire *wire) {
delete (i2c_dev);
i2c_dev = new Adafruit_I2CDevice(i2c_address, wire);
if (!i2c_dev->begin()) {
return false;
}
return true;
}
/*!
* @brief Write one 'byte' of data directly to the GPIO control register
* @param d The data to write
* @return True if we were able to write the data successfully over I2C
*/
bool Adafruit_PCF8574::digitalWriteByte(uint8_t d) {
_writebuf = d;
return i2c_dev->write(&_writebuf, 1);
}
/*!
* @brief Read one 'byte' of data directly from the GPIO control register
* @return The byte of data read from the device
*/
uint8_t Adafruit_PCF8574::digitalReadByte(void) {
i2c_dev->read(&_readbuf, 1);
return _readbuf;
}
/*!
* @brief Set one GPIO expander pin to 'high' (weak pullup) or 'low'
* (grounded)
* @param pinnum The GPIO pin number, from 0 to 7 inclusive
* @param val The boolean value to write: true means activate the pullup
* and false means turn on the sinking transistor.
* @return True if we were able to write the data successfully over I2C
*/
bool Adafruit_PCF8574::digitalWrite(uint8_t pinnum, bool val) {
if (val) {
_writebuf |= 1 << pinnum;
} else {
_writebuf &= ~(1 << pinnum);
}
return i2c_dev->write(&_writebuf, 1);
}
/*!
* @brief Set one GPIO expander pin to 'output' (grounded) or 'input' (weak
* pullup)
* @param pinnum The GPIO pin number, from 0 to 7 inclusive
* @param val The value to write: INPUT or INPUT_PULLUP means activate the
* pullup and OUTPUT means turn on the sinking transistor, as this is an open
* drain device
* @return True if we were able to write the data successfully over I2C
*/
bool Adafruit_PCF8574::pinMode(uint8_t pinnum, uint8_t val) {
if ((val == INPUT) || (val == INPUT_PULLUP)) {
_writebuf |= 1 << pinnum;
} else {
_writebuf &= ~(1 << pinnum);
}
return i2c_dev->write(&_writebuf, 1);
}
/*!
* @brief Get a GPIO expander pin value
* @param pinnum The GPIO pin number, from 0 to 7 inclusive
* @return True if the pin logic is NOT ground, false if the pin logic is
* ground
*/
bool Adafruit_PCF8574::digitalRead(uint8_t pinnum) {
i2c_dev->read(&_readbuf, 1);
return (_readbuf >> pinnum) & 0x1;
}

View file

@ -1,47 +0,0 @@
/*!
* @file Adafruit_PCF8574.h
*
* I2C Driver for PCF8574 I2C GPIO expander
*
* This is a library for the Adafruit PCF8574 breakout:
* http://www.adafruit.com/products
*
* Adafruit invests time and resources providing this open source code,
* please support Adafruit and open-source hardware by purchasing products from
* Adafruit!
*
*
* BSD license (see license.txt)
*/
#ifndef _ADAFRUIT_PCF8574_H
#define _ADAFRUIT_PCF8574_H
#include "Arduino.h"
#include <Adafruit_BusIO_Register.h>
#include <Adafruit_I2CDevice.h>
#define PCF8574_I2CADDR_DEFAULT 0x20 ///< PCF8574 default I2C address
/*!
* @brief Class that stores state and functions for interacting with
* the PCF8574 I2C Expander
*/
class Adafruit_PCF8574 {
public:
Adafruit_PCF8574();
bool begin(uint8_t i2c_addr = PCF8574_I2CADDR_DEFAULT, TwoWire *wire = &Wire);
bool digitalWriteByte(uint8_t d);
bool digitalWrite(uint8_t pinnum, bool val);
uint8_t digitalReadByte(void);
bool digitalRead(uint8_t pinnum);
bool pinMode(uint8_t pinnum, uint8_t val);
private:
uint8_t _readbuf = 0, _writebuf = 0;
Adafruit_I2CDevice *i2c_dev;
};
#endif

View file

@ -1,120 +0,0 @@
/*!
* @file Adafruit_PCF8575.cpp
*
* @brief Adafruit PCF8575 I2C Potentiometer
*
* @details
*
* I2C Driver for the NXP PCF8575 I2C GPIO expander
*
* This is a library for the Adafruit PCF8575 breakout:
* http://www.adafruit.com/products
*
* Adafruit invests time and resources providing this open source code,
* please support Adafruit and open-source hardware by purchasing products from
* Adafruit!
*
* Dependencies
*
* This library depends on the Adafruit BusIO library
*
* @author Author
*
* ladyada for Adafruit Industries
*
* License
*
* BSD (see license.txt)
*/
#include "Adafruit_PCF8575.h"
/*!
* @brief Instantiates a new PCF8575 class
*/
Adafruit_PCF8575::Adafruit_PCF8575(void) {}
/*!
* @brief Sets up the hardware and initializes I2C
* @param i2c_address
* The I2C address to be used.
* @param wire
* The Wire object to be used for I2C connections.
* @return True if initialization was successful, otherwise false.
*/
bool Adafruit_PCF8575::begin(uint8_t i2c_address, TwoWire *wire) {
delete (i2c_dev);
i2c_dev = new Adafruit_I2CDevice(i2c_address, wire);
if (!i2c_dev->begin()) {
return false;
}
return true;
}
/*!
* @brief Write one 'word' of data directly to the GPIO control register
* @param d The data to write
* @return True if we were able to write the data successfully over I2C
*/
bool Adafruit_PCF8575::digitalWriteWord(uint16_t d) {
_writebuf = d;
return i2c_dev->write((uint8_t *)&_writebuf, 2);
}
/*!
* @brief Read one 'word' of data directly from the GPIO control register
* @return The byte of data read from the device
*/
uint16_t Adafruit_PCF8575::digitalReadWord(void) {
i2c_dev->read((uint8_t *)&_readbuf, 2);
return _readbuf;
}
/*!
* @brief Set one GPIO expander pin to 'high' (weak pullup) or 'low'
* (grounded)
* @param pinnum The GPIO pin number, from 0 to 7 inclusive
* @param val The boolean value to write: true means activate the pullup
* and false means turn on the sinking transistor.
* @return True if we were able to write the data successfully over I2C
*/
bool Adafruit_PCF8575::digitalWrite(uint8_t pinnum, bool val) {
if (val) {
_writebuf |= 1UL << pinnum;
} else {
_writebuf &= ~(1UL << pinnum);
}
return i2c_dev->write((uint8_t *)&_writebuf, 2);
}
/*!
* @brief Set one GPIO expander pin to 'output' (grounded) or 'input' (weak
* pullup)
* @param pinnum The GPIO pin number, from 0 to 15 inclusive
* @param val The value to write: INPUT or INPUT_PULLUP means activate the
* pullup and OUTPUT means turn on the sinking transistor, as this is an open
* drain device
* @return True if we were able to write the data successfully over I2C
*/
bool Adafruit_PCF8575::pinMode(uint8_t pinnum, uint8_t val) {
if ((val == INPUT) || (val == INPUT_PULLUP)) {
_writebuf |= 1UL << pinnum;
} else {
_writebuf &= ~(1UL << pinnum);
}
return i2c_dev->write((uint8_t *)&_writebuf, 2);
}
/*!
* @brief Get a GPIO expander pin value
* @param pinnum The GPIO pin number, from 0 to 7 inclusive
* @return True if the pin logic is NOT ground, false if the pin logic is
* ground
*/
bool Adafruit_PCF8575::digitalRead(uint8_t pinnum) {
i2c_dev->read((uint8_t *)&_readbuf, 2);
return (_readbuf >> pinnum) & 0x1;
}

View file

@ -1,47 +0,0 @@
/*!
* @file Adafruit_PCF8575.h
*
* I2C Driver for PCF8575 I2C GPIO expander
*
* This is a library for the Adafruit PCF8575 breakout:
* http://www.adafruit.com/products
*
* Adafruit invests time and resources providing this open source code,
* please support Adafruit and open-source hardware by purchasing products from
* Adafruit!
*
*
* BSD license (see license.txt)
*/
#ifndef _ADAFRUIT_PCF8575_H
#define _ADAFRUIT_PCF8575_H
#include "Arduino.h"
#include <Adafruit_BusIO_Register.h>
#include <Adafruit_I2CDevice.h>
#define PCF8575_I2CADDR_DEFAULT 0x20 ///< PCF8575 default I2C address
/*!
* @brief Class that stores state and functions for interacting with
* the PCF8575 I2C Expander
*/
class Adafruit_PCF8575 {
public:
Adafruit_PCF8575();
bool begin(uint8_t i2c_addr = PCF8575_I2CADDR_DEFAULT, TwoWire *wire = &Wire);
bool digitalWriteWord(uint16_t d);
bool digitalWrite(uint8_t pinnum, bool val);
uint16_t digitalReadWord(void);
bool digitalRead(uint8_t pinnum);
bool pinMode(uint8_t pinnum, uint8_t val);
private:
uint16_t _readbuf = 0, _writebuf = 0;
Adafruit_I2CDevice *i2c_dev;
};
#endif

View file

@ -1,35 +0,0 @@
# Adafruit PCF8574 [![Build Status](https://github.com/adafruit/Adafruit_PCF8574/workflows/Arduino%20Library%20CI/badge.svg)](https://github.com/adafruit/Adafruit_PCF8574/actions)
<a href="https://www.adafruit.com/products/5545"><img src="assets/board.jpg?raw=true" width="500px"></a>
This is the Adafruit PCF8574 I2C GPIO Exapnder library
Tested and works great with the Adafruit PCF8574 Breakout Board
* http://www.adafruit.com/products/5545
This chip uses 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!
# Dependencies
* [Adafruit BusIO](https://github.com/adafruit/Adafruit_BusIO)
# Contributing
Contributions are welcome! Please read our [Code of Conduct](https://github.com/adafruit/Adafruit_DS3502/blob/master/CODE_OF_CONDUCT.md>)
before contributing to help this project stay welcoming.
## Documentation and doxygen
Documentation is produced by doxygen. Contributions should include documentation for any new code added.
Some examples of how to use doxygen can be found in these guide pages:
https://learn.adafruit.com/the-well-automated-arduino-library/doxygen
https://learn.adafruit.com/the-well-automated-arduino-library/doxygen-tips
Written by ladyada for Adafruit Industries.
BSD license, check license.txt for more information
All text above must be included in any redistribution
To install, use the Arduino Library Manager and search for "Adafruit PCF8574" and install the library.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1 MiB

View file

@ -1,127 +0,0 @@
# Adafruit Community Code of Conduct
## Our Pledge
In the interest of fostering an open and welcoming environment, we as
contributors and leaders pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, gender identity and expression, level or type of
experience, education, socio-economic status, nationality, personal appearance,
race, religion, or sexual identity and orientation.
## Our Standards
We are committed to providing a friendly, safe and welcoming environment for
all.
Examples of behavior that contributes to creating a positive environment
include:
* Be kind and courteous to others
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Collaborating with other community members
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery and sexual attention or advances
* The use of inappropriate images, including in a community member's avatar
* The use of inappropriate language, including in a community member's nickname
* Any spamming, flaming, baiting or other attention-stealing behavior
* Excessive or unwelcome helping; answering outside the scope of the question
asked
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
address, without explicit permission
* Other conduct which could reasonably be considered inappropriate
The goal of the standards and moderation guidelines outlined here is to build
and maintain a respectful community. We ask that you dont just aim to be
"technically unimpeachable", but rather try to be your best self.
We value many things beyond technical expertise, including collaboration and
supporting others within our community. Providing a positive experience for
other community members can have a much more significant impact than simply
providing the correct answer.
## Our Responsibilities
Project leaders are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.
Project leaders have the right and responsibility to remove, edit, or
reject messages, comments, commits, code, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any community member for other behaviors that they deem
inappropriate, threatening, offensive, or harmful.
## Moderation
Instances of behaviors that violate the Adafruit Community Code of Conduct
may be reported by any member of the community. Community members are
encouraged to report these situations, including situations they witness
involving other community members.
You may report in the following ways:
In any situation, you may send an email to <support@adafruit.com>.
On the Adafruit Discord, you may send an open message from any channel
to all Community Helpers by tagging @community helpers. You may also send an
open message from any channel, or a direct message to @kattni#1507,
@tannewt#4653, @Dan Halbert#1614, @cater#2442, @sommersoft#0222, or
@Andon#8175.
Email and direct message reports will be kept confidential.
In situations on Discord where the issue is particularly egregious, possibly
illegal, requires immediate action, or violates the Discord terms of service,
you should also report the message directly to Discord.
These are the steps for upholding our communitys standards of conduct.
1. Any member of the community may report any situation that violates the
Adafruit Community Code of Conduct. All reports will be reviewed and
investigated.
2. If the behavior is an egregious violation, the community member who
committed the violation may be banned immediately, without warning.
3. Otherwise, moderators will first respond to such behavior with a warning.
4. Moderators follow a soft "three strikes" policy - the community member may
be given another chance, if they are receptive to the warning and change their
behavior.
5. If the community member is unreceptive or unreasonable when warned by a
moderator, or the warning goes unheeded, they may be banned for a first or
second offense. Repeated offenses will result in the community member being
banned.
## Scope
This Code of Conduct and the enforcement policies listed above apply to all
Adafruit Community venues. This includes but is not limited to any community
spaces (both public and private), the entire Adafruit Discord server, and
Adafruit GitHub repositories. Examples of Adafruit Community spaces include
but are not limited to meet-ups, audio chats on the Adafruit Discord, or
interaction at a conference.
This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. As a community
member, you are representing our community, and are expected to behave
accordingly.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 1.4, available at
<https://www.contributor-covenant.org/version/1/4/code-of-conduct.html>,
and the [Rust Code of Conduct](https://www.rust-lang.org/en-US/conduct.html).
For other projects adopting the Adafruit Community Code of
Conduct, please contact the maintainers of those projects for enforcement.
If you wish to use this code of conduct for your own project, consider
explicitly mentioning your moderation policy or making a copy with your
own moderation policy so as to avoid confusion.

View file

@ -1,30 +0,0 @@
#include <Adafruit_PCF8574.h>
/* Example for 8 output LEDs that are connected from power to the GPIO expander pins
* Note the LEDs must be connected with the CATHODES to the expander, to SINK current!
* The PCF8574 cannot SOURCE current!
*/
Adafruit_PCF8574 pcf;
void setup() {
Serial.begin(115200);
while (!Serial) { delay(10); }
Serial.println("Adafruit PCF8574 LED blink test");
if (!pcf.begin(0x20, &Wire)) {
Serial.println("Couldn't find PCF8574");
while (1);
}
for (uint8_t p=0; p<8; p++) {
pcf.pinMode(p, OUTPUT);
}
}
void loop() {
for (uint8_t p=0; p<8; p++) {
pcf.digitalWrite(p, LOW); // turn LED on by sinking current to ground
delay(100);
pcf.digitalWrite(p, HIGH); // turn LED off by turning off sinking transistor
}
}

View file

@ -1,27 +0,0 @@
#include <Adafruit_PCF8574.h>
/* Example for 1 output LED that is connected from power to the GPIO expander pin #7
* Note the LEDs must be connected with the CATHODES to the expander, to SINK current!
* The PCF8574 cannot SOURCE current!
*/
Adafruit_PCF8574 pcf;
void setup() {
Serial.begin(115200);
while (!Serial) { delay(10); }
Serial.println("Adafruit PCF8574 LED blink test");
if (!pcf.begin(0x20, &Wire)) {
Serial.println("Couldn't find PCF8574");
while (1);
}
pcf.pinMode(7, OUTPUT);
}
void loop() {
pcf.digitalWrite(7, LOW); // turn LED on by sinking current to ground
delay(100);
pcf.digitalWrite(7, HIGH); // turn LED off by turning off sinking transistor
delay(100);
}

View file

@ -1,52 +0,0 @@
#include <Adafruit_PCF8574.h>
/* Example for 1 button that is connected from PCF GPIO #0 to ground,
* and one LED connected from power to PCF GPIO #7
* We also have the IRQ output connected to an Interrupt input pin on the
* Arduino so we are not constantly polling from the PCF8574 expander
*/
Adafruit_PCF8574 pcf;
#define PCF_BUTTON 0 // on the GPIO expander!
#define PCF_LED 7 // on the GPIO expander!
#define ARDUINO_IRQ 2 // make sure this pin is possible to make IRQ input
void setup() {
Serial.begin(115200);
while (!Serial) { delay(10); }
Serial.println("Adafruit PCF8574 button/led IRQ test");
if (!pcf.begin(0x20, &Wire)) {
Serial.println("Couldn't find PCF8574");
while (1);
}
pcf.pinMode(PCF_BUTTON, INPUT_PULLUP);
pcf.pinMode(PCF_LED, OUTPUT);
pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(LED_BUILTIN, LOW);
// set up the interrupt pin on IRQ signal toggle
pinMode(ARDUINO_IRQ, INPUT_PULLUP);
attachInterrupt(digitalPinToInterrupt(ARDUINO_IRQ), button_detect, CHANGE);
}
// We use a flag to make sure we don't enter the interrupt more than once
volatile bool in_irq = false;
// called when the button is pressed!
void button_detect(void) {
if (in_irq) return; // we are already handling an irq so don't collide!
in_irq = true;
interrupts(); // Arduino UNO seems to require that we turn on interrupts for I2C to work!
bool val = pcf.digitalRead(PCF_BUTTON);
pcf.digitalWrite(PCF_LED, val);
in_irq = false;
}
void loop() {
delay(100); // we do nothing here!
}

View file

@ -1,33 +0,0 @@
#include <Adafruit_PCF8574.h>
/* Example for 8 input buttons that are connected from the GPIO expander pins to ground.
* Note the buttons must be connected with the other side of the switch to GROUND. There is
* a built in pull-up 'resistor' on each input, but no pull-down resistor capability.
*/
Adafruit_PCF8574 pcf;
void setup() {
Serial.begin(115200);
while (!Serial) { delay(10); }
Serial.println("Adafruit PCF8574 button read test");
if (!pcf.begin(0x20, &Wire)) {
Serial.println("Couldn't find PCF8574");
while (1);
}
for (uint8_t p=0; p<8; p++) {
pcf.pinMode(p, INPUT_PULLUP);
}
}
void loop() {
for (uint8_t p=0; p<8; p++) {
if (! pcf.digitalRead(p)) {
Serial.print("Button on GPIO #");
Serial.print(p);
Serial.println(" pressed!");
}
}
delay(10); // a short debounce delay
}

View file

@ -1,30 +0,0 @@
#include <Adafruit_PCF8575.h>
/* Example for 16 output LEDs that are connected from power to the GPIO expander pins
* Note the LEDs must be connected with the CATHODES to the expander, to SINK current!
* The PCF8575 cannot SOURCE current!
*/
Adafruit_PCF8575 pcf;
void setup() {
Serial.begin(115200);
while (!Serial) { delay(10); }
Serial.println("Adafruit PCF8575 LED blink test");
if (!pcf.begin(0x20, &Wire)) {
Serial.println("Couldn't find PCF8575");
while (1);
}
for (uint8_t p=0; p<16; p++) {
pcf.pinMode(p, OUTPUT);
}
}
void loop() {
for (uint8_t p=0; p<16; p++) {
pcf.digitalWrite(p, LOW); // turn LED on by sinking current to ground
delay(100);
pcf.digitalWrite(p, HIGH); // turn LED off by turning off sinking transistor
}
}

View file

@ -1,27 +0,0 @@
#include <Adafruit_PCF8575.h>
/* Example for 1 output LED that is connected from power to the GPIO expander pin #7
* Note the LEDs must be connected with the CATHODES to the expander, to SINK current!
* The PCF8575 cannot SOURCE current!
*/
Adafruit_PCF8575 pcf;
void setup() {
Serial.begin(115200);
while (!Serial) { delay(10); }
Serial.println("Adafruit PCF8575 LED blink test");
if (!pcf.begin(0x20, &Wire)) {
Serial.println("Couldn't find PCF8575");
while (1);
}
pcf.pinMode(7, OUTPUT);
}
void loop() {
pcf.digitalWrite(7, LOW); // turn LED on by sinking current to ground
delay(100);
pcf.digitalWrite(7, HIGH); // turn LED off by turning off sinking transistor
delay(100);
}

View file

@ -1,52 +0,0 @@
#include <Adafruit_PCF8575.h>
/* Example for 1 button that is connected from PCF GPIO #0 to ground,
* and one LED connected from power to PCF GPIO #7
* We also have the IRQ output connected to an Interrupt input pin on the
* Arduino so we are not constantly polling from the PCF8575 expander
*/
Adafruit_PCF8575 pcf;
#define PCF_BUTTON 0 // on the GPIO expander!
#define PCF_LED 7 // on the GPIO expander!
#define ARDUINO_IRQ 2 // make sure this pin is possible to make IRQ input
void setup() {
Serial.begin(115200);
while (!Serial) { delay(10); }
Serial.println("Adafruit PCF8575 button/led IRQ test");
if (!pcf.begin(0x20, &Wire)) {
Serial.println("Couldn't find PCF8575");
while (1);
}
pcf.pinMode(PCF_BUTTON, INPUT_PULLUP);
pcf.pinMode(PCF_LED, OUTPUT);
pinMode(LED_BUILTIN, OUTPUT);
digitalWrite(LED_BUILTIN, LOW);
// set up the interrupt pin on IRQ signal toggle
pinMode(ARDUINO_IRQ, INPUT_PULLUP);
attachInterrupt(digitalPinToInterrupt(ARDUINO_IRQ), button_detect, CHANGE);
}
// We use a flag to make sure we don't enter the interrupt more than once
volatile bool in_irq = false;
// called when the button is pressed!
void button_detect(void) {
if (in_irq) return; // we are already handling an irq so don't collide!
in_irq = true;
interrupts(); // Arduino UNO seems to require that we turn on interrupts for I2C to work!
bool val = pcf.digitalRead(PCF_BUTTON);
pcf.digitalWrite(PCF_LED, val);
in_irq = false;
}
void loop() {
delay(100); // we do nothing here!
}

View file

@ -1,33 +0,0 @@
#include <Adafruit_PCF8575.h>
/* Example for 16 input buttons that are connected from the GPIO expander pins to ground.
* Note the buttons must be connected with the other side of the switch to GROUND. There is
* a built in pull-up 'resistor' on each input, but no pull-down resistor capability.
*/
Adafruit_PCF8575 pcf;
void setup() {
Serial.begin(115200);
while (!Serial) { delay(10); }
Serial.println("Adafruit PCF8575 button read test");
if (!pcf.begin(0x20, &Wire)) {
Serial.println("Couldn't find PCF8575");
while (1);
}
for (uint8_t p=0; p<16; p++) {
pcf.pinMode(p, INPUT_PULLUP);
}
}
void loop() {
for (uint8_t p=0; p<16; p++) {
if (! pcf.digitalRead(p)) {
Serial.print("Button on GPIO #");
Serial.print(p);
Serial.println(" pressed!");
}
}
delay(10); // a short debounce delay
}

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 PCF8574 Arduino Library: Adafruit_PCF8574.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 PCF8574 Arduino 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_PCF8574.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="_adafruit___p_c_f8574_8h_source.html">Adafruit_PCF8574.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,100 @@
<!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 PCF8574 Arduino Library: Adafruit_PCF8574.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 PCF8574 Arduino 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> </div>
<div class="headertitle">
<div class="title">Adafruit_PCF8574.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___p_c_f8574_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___p_c_f8574.html">Adafruit_PCF8574</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class that stores state and functions for interacting with the PCF8574 I2C Expander. <a href="class_adafruit___p_c_f8574.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:add1a243dd9163307e74c541c0ba76b3c"><td class="memItemLeft" align="right" valign="top"><a id="add1a243dd9163307e74c541c0ba76b3c"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_adafruit___p_c_f8574_8h.html#add1a243dd9163307e74c541c0ba76b3c">PCF8574_I2CADDR_DEFAULT</a>&#160;&#160;&#160;0x20</td></tr>
<tr class="memdesc:add1a243dd9163307e74c541c0ba76b3c"><td class="mdescLeft">&#160;</td><td class="mdescRight">PCF8574 default I2C address. <br /></td></tr>
<tr class="separator:add1a243dd9163307e74c541c0ba76b3c"><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>I2C Driver for PCF8574 I2C GPIO expander</p>
<p>This is a library for the Adafruit PCF8574 breakout: <a href="http://www.adafruit.com/products">http://www.adafruit.com/products</a></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>
<p>BSD license (see license.txt) </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>

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,88 @@
<!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 PCF8574 Arduino Library: Adafruit_PCF8575.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 PCF8574 Arduino 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_PCF8575.cpp File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Adafruit PCF8575 I2C Potentiometer.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="_adafruit___p_c_f8575_8h_source.html">Adafruit_PCF8575.h</a>&quot;</code><br />
</div><a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Adafruit PCF8575 I2C Potentiometer. </p>
<p>I2C Driver for the NXP PCF8575 I2C GPIO expander</p>
<p>This is a library for the Adafruit PCF8575 breakout: <a href="http://www.adafruit.com/products">http://www.adafruit.com/products</a></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>
<p>Dependencies</p>
<p>This library depends on the Adafruit BusIO library</p>
<dl class="section author"><dt>Author</dt><dd>Author</dd></dl>
<p>ladyada for Adafruit Industries</p>
<p>License</p>
<p>BSD (see license.txt) </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>

View file

@ -0,0 +1,100 @@
<!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 PCF8574 Arduino Library: Adafruit_PCF8575.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 PCF8574 Arduino 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> </div>
<div class="headertitle">
<div class="title">Adafruit_PCF8575.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___p_c_f8575_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___p_c_f8575.html">Adafruit_PCF8575</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Class that stores state and functions for interacting with the PCF8575 I2C Expander. <a href="class_adafruit___p_c_f8575.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:a06f6b65522ebdbfa1a966e5700ca3f5a"><td class="memItemLeft" align="right" valign="top"><a id="a06f6b65522ebdbfa1a966e5700ca3f5a"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="_adafruit___p_c_f8575_8h.html#a06f6b65522ebdbfa1a966e5700ca3f5a">PCF8575_I2CADDR_DEFAULT</a>&#160;&#160;&#160;0x20</td></tr>
<tr class="memdesc:a06f6b65522ebdbfa1a966e5700ca3f5a"><td class="mdescLeft">&#160;</td><td class="mdescRight">PCF8575 default I2C address. <br /></td></tr>
<tr class="separator:a06f6b65522ebdbfa1a966e5700ca3f5a"><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>I2C Driver for PCF8575 I2C GPIO expander</p>
<p>This is a library for the Adafruit PCF8575 breakout: <a href="http://www.adafruit.com/products">http://www.adafruit.com/products</a></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>
<p>BSD license (see license.txt) </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>

File diff suppressed because one or more lines are too long

79
html/annotated.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 PCF8574 Arduino 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 PCF8574 Arduino 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___p_c_f8574.html" target="_self">Adafruit_PCF8574</a></td><td class="desc">Class that stores state and functions for interacting with the PCF8574 I2C Expander </td></tr>
<tr id="row_1_"><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___p_c_f8575.html" target="_self">Adafruit_PCF8575</a></td><td class="desc">Class that stores state and functions for interacting with the PCF8575 I2C Expander </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,83 @@
<!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 PCF8574 Arduino 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 PCF8574 Arduino 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_PCF8574 Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="class_adafruit___p_c_f8574.html">Adafruit_PCF8574</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="class_adafruit___p_c_f8574.html#a3a515be96e2ab7e65c1f1a84689f7e34">Adafruit_PCF8574</a>()</td><td class="entry"><a class="el" href="class_adafruit___p_c_f8574.html">Adafruit_PCF8574</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="class_adafruit___p_c_f8574.html#aafed32f7eb941c0ff9b82bdb94368763">begin</a>(uint8_t i2c_addr=PCF8574_I2CADDR_DEFAULT, TwoWire *wire=&amp;Wire)</td><td class="entry"><a class="el" href="class_adafruit___p_c_f8574.html">Adafruit_PCF8574</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_adafruit___p_c_f8574.html#a8d47c4c39b782b579553eea14e0e525d">digitalRead</a>(uint8_t pinnum)</td><td class="entry"><a class="el" href="class_adafruit___p_c_f8574.html">Adafruit_PCF8574</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="class_adafruit___p_c_f8574.html#a9a21194cb41d893d34b65f5eccdf0a68">digitalReadByte</a>(void)</td><td class="entry"><a class="el" href="class_adafruit___p_c_f8574.html">Adafruit_PCF8574</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_adafruit___p_c_f8574.html#aea0c6d721d8fa736389b10dc8b5f3be1">digitalWrite</a>(uint8_t pinnum, bool val)</td><td class="entry"><a class="el" href="class_adafruit___p_c_f8574.html">Adafruit_PCF8574</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="class_adafruit___p_c_f8574.html#afaa9535cfb66b74cf4348bb401e8bc3b">digitalWriteByte</a>(uint8_t d)</td><td class="entry"><a class="el" href="class_adafruit___p_c_f8574.html">Adafruit_PCF8574</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_adafruit___p_c_f8574.html#a101097ef55bbed2239a224a39148648c">pinMode</a>(uint8_t pinnum, uint8_t val)</td><td class="entry"><a class="el" href="class_adafruit___p_c_f8574.html">Adafruit_PCF8574</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,303 @@
<!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 PCF8574 Arduino Library: Adafruit_PCF8574 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 PCF8574 Arduino 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___p_c_f8574-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">Adafruit_PCF8574 Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Class that stores state and functions for interacting with the PCF8574 I2C Expander.
<a href="class_adafruit___p_c_f8574.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="_adafruit___p_c_f8574_8h_source.html">Adafruit_PCF8574.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:a3a515be96e2ab7e65c1f1a84689f7e34"><td class="memItemLeft" align="right" valign="top"><a id="a3a515be96e2ab7e65c1f1a84689f7e34"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_adafruit___p_c_f8574.html#a3a515be96e2ab7e65c1f1a84689f7e34">Adafruit_PCF8574</a> ()</td></tr>
<tr class="memdesc:a3a515be96e2ab7e65c1f1a84689f7e34"><td class="mdescLeft">&#160;</td><td class="mdescRight">Instantiates a new PCF8574 class. <br /></td></tr>
<tr class="separator:a3a515be96e2ab7e65c1f1a84689f7e34"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aafed32f7eb941c0ff9b82bdb94368763"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_adafruit___p_c_f8574.html#aafed32f7eb941c0ff9b82bdb94368763">begin</a> (uint8_t i2c_addr=<a class="el" href="_adafruit___p_c_f8574_8h.html#add1a243dd9163307e74c541c0ba76b3c">PCF8574_I2CADDR_DEFAULT</a>, TwoWire *wire=&amp;Wire)</td></tr>
<tr class="memdesc:aafed32f7eb941c0ff9b82bdb94368763"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets up the hardware and initializes I2C. <a href="#aafed32f7eb941c0ff9b82bdb94368763">More...</a><br /></td></tr>
<tr class="separator:aafed32f7eb941c0ff9b82bdb94368763"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afaa9535cfb66b74cf4348bb401e8bc3b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_adafruit___p_c_f8574.html#afaa9535cfb66b74cf4348bb401e8bc3b">digitalWriteByte</a> (uint8_t d)</td></tr>
<tr class="memdesc:afaa9535cfb66b74cf4348bb401e8bc3b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write one 'byte' of data directly to the GPIO control register. <a href="#afaa9535cfb66b74cf4348bb401e8bc3b">More...</a><br /></td></tr>
<tr class="separator:afaa9535cfb66b74cf4348bb401e8bc3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea0c6d721d8fa736389b10dc8b5f3be1"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_adafruit___p_c_f8574.html#aea0c6d721d8fa736389b10dc8b5f3be1">digitalWrite</a> (uint8_t pinnum, bool val)</td></tr>
<tr class="memdesc:aea0c6d721d8fa736389b10dc8b5f3be1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set one GPIO expander pin to 'high' (weak pullup) or 'low' (grounded) <a href="#aea0c6d721d8fa736389b10dc8b5f3be1">More...</a><br /></td></tr>
<tr class="separator:aea0c6d721d8fa736389b10dc8b5f3be1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a21194cb41d893d34b65f5eccdf0a68"><td class="memItemLeft" align="right" valign="top">uint8_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_adafruit___p_c_f8574.html#a9a21194cb41d893d34b65f5eccdf0a68">digitalReadByte</a> (void)</td></tr>
<tr class="memdesc:a9a21194cb41d893d34b65f5eccdf0a68"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read one 'byte' of data directly from the GPIO control register. <a href="#a9a21194cb41d893d34b65f5eccdf0a68">More...</a><br /></td></tr>
<tr class="separator:a9a21194cb41d893d34b65f5eccdf0a68"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d47c4c39b782b579553eea14e0e525d"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_adafruit___p_c_f8574.html#a8d47c4c39b782b579553eea14e0e525d">digitalRead</a> (uint8_t pinnum)</td></tr>
<tr class="memdesc:a8d47c4c39b782b579553eea14e0e525d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a GPIO expander pin value. <a href="#a8d47c4c39b782b579553eea14e0e525d">More...</a><br /></td></tr>
<tr class="separator:a8d47c4c39b782b579553eea14e0e525d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a101097ef55bbed2239a224a39148648c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_adafruit___p_c_f8574.html#a101097ef55bbed2239a224a39148648c">pinMode</a> (uint8_t pinnum, uint8_t val)</td></tr>
<tr class="memdesc:a101097ef55bbed2239a224a39148648c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set one GPIO expander pin to 'output' (grounded) or 'input' (weak pullup) <a href="#a101097ef55bbed2239a224a39148648c">More...</a><br /></td></tr>
<tr class="separator:a101097ef55bbed2239a224a39148648c"><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 the PCF8574 I2C Expander. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="aafed32f7eb941c0ff9b82bdb94368763"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aafed32f7eb941c0ff9b82bdb94368763">&#9670;&nbsp;</a></span>begin()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool Adafruit_PCF8574::begin </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>i2c_address</em> = <code><a class="el" href="_adafruit___p_c_f8574_8h.html#add1a243dd9163307e74c541c0ba76b3c">PCF8574_I2CADDR_DEFAULT</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">TwoWire *&#160;</td>
<td class="paramname"><em>wire</em> = <code>&amp;Wire</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets up the hardware and initializes I2C. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">i2c_address</td><td>The I2C address to be used. </td></tr>
<tr><td class="paramname">wire</td><td>The Wire object to be used for I2C connections. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if initialization was successful, otherwise false. </dd></dl>
</div>
</div>
<a id="afaa9535cfb66b74cf4348bb401e8bc3b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afaa9535cfb66b74cf4348bb401e8bc3b">&#9670;&nbsp;</a></span>digitalWriteByte()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool Adafruit_PCF8574::digitalWriteByte </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>d</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Write one 'byte' of data directly to the GPIO control register. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">d</td><td>The data to write </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if we were able to write the data successfully over I2C </dd></dl>
</div>
</div>
<a id="aea0c6d721d8fa736389b10dc8b5f3be1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aea0c6d721d8fa736389b10dc8b5f3be1">&#9670;&nbsp;</a></span>digitalWrite()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool Adafruit_PCF8574::digitalWrite </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>pinnum</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>val</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set one GPIO expander pin to 'high' (weak pullup) or 'low' (grounded) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pinnum</td><td>The GPIO pin number, from 0 to 7 inclusive </td></tr>
<tr><td class="paramname">val</td><td>The boolean value to write: true means activate the pullup and false means turn on the sinking transistor. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if we were able to write the data successfully over I2C </dd></dl>
</div>
</div>
<a id="a9a21194cb41d893d34b65f5eccdf0a68"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9a21194cb41d893d34b65f5eccdf0a68">&#9670;&nbsp;</a></span>digitalReadByte()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8_t Adafruit_PCF8574::digitalReadByte </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 one 'byte' of data directly from the GPIO control register. </p>
<dl class="section return"><dt>Returns</dt><dd>The byte of data read from the device </dd></dl>
</div>
</div>
<a id="a8d47c4c39b782b579553eea14e0e525d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8d47c4c39b782b579553eea14e0e525d">&#9670;&nbsp;</a></span>digitalRead()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool Adafruit_PCF8574::digitalRead </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>pinnum</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get a GPIO expander pin value. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pinnum</td><td>The GPIO pin number, from 0 to 7 inclusive </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if the pin logic is NOT ground, false if the pin logic is ground </dd></dl>
</div>
</div>
<a id="a101097ef55bbed2239a224a39148648c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a101097ef55bbed2239a224a39148648c">&#9670;&nbsp;</a></span>pinMode()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool Adafruit_PCF8574::pinMode </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>pinnum</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>val</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set one GPIO expander pin to 'output' (grounded) or 'input' (weak pullup) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pinnum</td><td>The GPIO pin number, from 0 to 7 inclusive </td></tr>
<tr><td class="paramname">val</td><td>The value to write: INPUT or INPUT_PULLUP means activate the pullup and OUTPUT means turn on the sinking transistor, as this is an open drain device </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if we were able to write the data successfully over I2C </dd></dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="_adafruit___p_c_f8574_8h_source.html">Adafruit_PCF8574.h</a></li>
<li><a class="el" href="_adafruit___p_c_f8574_8cpp.html">Adafruit_PCF8574.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>

View file

@ -0,0 +1,83 @@
<!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 PCF8574 Arduino 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 PCF8574 Arduino 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_PCF8575 Member List</div> </div>
</div><!--header-->
<div class="contents">
<p>This is the complete list of members for <a class="el" href="class_adafruit___p_c_f8575.html">Adafruit_PCF8575</a>, including all inherited members.</p>
<table class="directory">
<tr class="even"><td class="entry"><a class="el" href="class_adafruit___p_c_f8575.html#ab19b589de52964bfcc4b910190c93c33">Adafruit_PCF8575</a>()</td><td class="entry"><a class="el" href="class_adafruit___p_c_f8575.html">Adafruit_PCF8575</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="class_adafruit___p_c_f8575.html#ac9538e01c53fb0e972f9970bd1201433">begin</a>(uint8_t i2c_addr=PCF8575_I2CADDR_DEFAULT, TwoWire *wire=&amp;Wire)</td><td class="entry"><a class="el" href="class_adafruit___p_c_f8575.html">Adafruit_PCF8575</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_adafruit___p_c_f8575.html#a59c74a95c74017c218e5d68a7e7667ea">digitalRead</a>(uint8_t pinnum)</td><td class="entry"><a class="el" href="class_adafruit___p_c_f8575.html">Adafruit_PCF8575</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="class_adafruit___p_c_f8575.html#af188b2cdcf57b7c29a2f8f05c41ea7a9">digitalReadWord</a>(void)</td><td class="entry"><a class="el" href="class_adafruit___p_c_f8575.html">Adafruit_PCF8575</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_adafruit___p_c_f8575.html#a28d91d422af7b136cb46a81742e080a4">digitalWrite</a>(uint8_t pinnum, bool val)</td><td class="entry"><a class="el" href="class_adafruit___p_c_f8575.html">Adafruit_PCF8575</a></td><td class="entry"></td></tr>
<tr><td class="entry"><a class="el" href="class_adafruit___p_c_f8575.html#ac5d8cc319dcefaaa55c1a45f63d4d5f7">digitalWriteWord</a>(uint16_t d)</td><td class="entry"><a class="el" href="class_adafruit___p_c_f8575.html">Adafruit_PCF8575</a></td><td class="entry"></td></tr>
<tr class="even"><td class="entry"><a class="el" href="class_adafruit___p_c_f8575.html#a8389f963b5da2409461a4a1496d2bb78">pinMode</a>(uint8_t pinnum, uint8_t val)</td><td class="entry"><a class="el" href="class_adafruit___p_c_f8575.html">Adafruit_PCF8575</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,303 @@
<!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 PCF8574 Arduino Library: Adafruit_PCF8575 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 PCF8574 Arduino 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___p_c_f8575-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">Adafruit_PCF8575 Class Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Class that stores state and functions for interacting with the PCF8575 I2C Expander.
<a href="class_adafruit___p_c_f8575.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="_adafruit___p_c_f8575_8h_source.html">Adafruit_PCF8575.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:ab19b589de52964bfcc4b910190c93c33"><td class="memItemLeft" align="right" valign="top"><a id="ab19b589de52964bfcc4b910190c93c33"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_adafruit___p_c_f8575.html#ab19b589de52964bfcc4b910190c93c33">Adafruit_PCF8575</a> ()</td></tr>
<tr class="memdesc:ab19b589de52964bfcc4b910190c93c33"><td class="mdescLeft">&#160;</td><td class="mdescRight">Instantiates a new PCF8575 class. <br /></td></tr>
<tr class="separator:ab19b589de52964bfcc4b910190c93c33"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac9538e01c53fb0e972f9970bd1201433"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_adafruit___p_c_f8575.html#ac9538e01c53fb0e972f9970bd1201433">begin</a> (uint8_t i2c_addr=<a class="el" href="_adafruit___p_c_f8575_8h.html#a06f6b65522ebdbfa1a966e5700ca3f5a">PCF8575_I2CADDR_DEFAULT</a>, TwoWire *wire=&amp;Wire)</td></tr>
<tr class="memdesc:ac9538e01c53fb0e972f9970bd1201433"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets up the hardware and initializes I2C. <a href="#ac9538e01c53fb0e972f9970bd1201433">More...</a><br /></td></tr>
<tr class="separator:ac9538e01c53fb0e972f9970bd1201433"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5d8cc319dcefaaa55c1a45f63d4d5f7"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_adafruit___p_c_f8575.html#ac5d8cc319dcefaaa55c1a45f63d4d5f7">digitalWriteWord</a> (uint16_t d)</td></tr>
<tr class="memdesc:ac5d8cc319dcefaaa55c1a45f63d4d5f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Write one 'word' of data directly to the GPIO control register. <a href="#ac5d8cc319dcefaaa55c1a45f63d4d5f7">More...</a><br /></td></tr>
<tr class="separator:ac5d8cc319dcefaaa55c1a45f63d4d5f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28d91d422af7b136cb46a81742e080a4"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_adafruit___p_c_f8575.html#a28d91d422af7b136cb46a81742e080a4">digitalWrite</a> (uint8_t pinnum, bool val)</td></tr>
<tr class="memdesc:a28d91d422af7b136cb46a81742e080a4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set one GPIO expander pin to 'high' (weak pullup) or 'low' (grounded) <a href="#a28d91d422af7b136cb46a81742e080a4">More...</a><br /></td></tr>
<tr class="separator:a28d91d422af7b136cb46a81742e080a4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af188b2cdcf57b7c29a2f8f05c41ea7a9"><td class="memItemLeft" align="right" valign="top">uint16_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_adafruit___p_c_f8575.html#af188b2cdcf57b7c29a2f8f05c41ea7a9">digitalReadWord</a> (void)</td></tr>
<tr class="memdesc:af188b2cdcf57b7c29a2f8f05c41ea7a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Read one 'word' of data directly from the GPIO control register. <a href="#af188b2cdcf57b7c29a2f8f05c41ea7a9">More...</a><br /></td></tr>
<tr class="separator:af188b2cdcf57b7c29a2f8f05c41ea7a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a59c74a95c74017c218e5d68a7e7667ea"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_adafruit___p_c_f8575.html#a59c74a95c74017c218e5d68a7e7667ea">digitalRead</a> (uint8_t pinnum)</td></tr>
<tr class="memdesc:a59c74a95c74017c218e5d68a7e7667ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a GPIO expander pin value. <a href="#a59c74a95c74017c218e5d68a7e7667ea">More...</a><br /></td></tr>
<tr class="separator:a59c74a95c74017c218e5d68a7e7667ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8389f963b5da2409461a4a1496d2bb78"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_adafruit___p_c_f8575.html#a8389f963b5da2409461a4a1496d2bb78">pinMode</a> (uint8_t pinnum, uint8_t val)</td></tr>
<tr class="memdesc:a8389f963b5da2409461a4a1496d2bb78"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set one GPIO expander pin to 'output' (grounded) or 'input' (weak pullup) <a href="#a8389f963b5da2409461a4a1496d2bb78">More...</a><br /></td></tr>
<tr class="separator:a8389f963b5da2409461a4a1496d2bb78"><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 the PCF8575 I2C Expander. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="ac9538e01c53fb0e972f9970bd1201433"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac9538e01c53fb0e972f9970bd1201433">&#9670;&nbsp;</a></span>begin()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool Adafruit_PCF8575::begin </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>i2c_address</em> = <code><a class="el" href="_adafruit___p_c_f8575_8h.html#a06f6b65522ebdbfa1a966e5700ca3f5a">PCF8575_I2CADDR_DEFAULT</a></code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">TwoWire *&#160;</td>
<td class="paramname"><em>wire</em> = <code>&amp;Wire</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets up the hardware and initializes I2C. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">i2c_address</td><td>The I2C address to be used. </td></tr>
<tr><td class="paramname">wire</td><td>The Wire object to be used for I2C connections. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if initialization was successful, otherwise false. </dd></dl>
</div>
</div>
<a id="ac5d8cc319dcefaaa55c1a45f63d4d5f7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac5d8cc319dcefaaa55c1a45f63d4d5f7">&#9670;&nbsp;</a></span>digitalWriteWord()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool Adafruit_PCF8575::digitalWriteWord </td>
<td>(</td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>d</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Write one 'word' of data directly to the GPIO control register. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">d</td><td>The data to write </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if we were able to write the data successfully over I2C </dd></dl>
</div>
</div>
<a id="a28d91d422af7b136cb46a81742e080a4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a28d91d422af7b136cb46a81742e080a4">&#9670;&nbsp;</a></span>digitalWrite()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool Adafruit_PCF8575::digitalWrite </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>pinnum</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>val</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set one GPIO expander pin to 'high' (weak pullup) or 'low' (grounded) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pinnum</td><td>The GPIO pin number, from 0 to 7 inclusive </td></tr>
<tr><td class="paramname">val</td><td>The boolean value to write: true means activate the pullup and false means turn on the sinking transistor. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if we were able to write the data successfully over I2C </dd></dl>
</div>
</div>
<a id="af188b2cdcf57b7c29a2f8f05c41ea7a9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af188b2cdcf57b7c29a2f8f05c41ea7a9">&#9670;&nbsp;</a></span>digitalReadWord()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint16_t Adafruit_PCF8575::digitalReadWord </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 one 'word' of data directly from the GPIO control register. </p>
<dl class="section return"><dt>Returns</dt><dd>The byte of data read from the device </dd></dl>
</div>
</div>
<a id="a59c74a95c74017c218e5d68a7e7667ea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a59c74a95c74017c218e5d68a7e7667ea">&#9670;&nbsp;</a></span>digitalRead()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool Adafruit_PCF8575::digitalRead </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>pinnum</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Get a GPIO expander pin value. </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pinnum</td><td>The GPIO pin number, from 0 to 7 inclusive </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if the pin logic is NOT ground, false if the pin logic is ground </dd></dl>
</div>
</div>
<a id="a8389f963b5da2409461a4a1496d2bb78"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8389f963b5da2409461a4a1496d2bb78">&#9670;&nbsp;</a></span>pinMode()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool Adafruit_PCF8575::pinMode </td>
<td>(</td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>pinnum</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8_t&#160;</td>
<td class="paramname"><em>val</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set one GPIO expander pin to 'output' (grounded) or 'input' (weak pullup) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pinnum</td><td>The GPIO pin number, from 0 to 15 inclusive </td></tr>
<tr><td class="paramname">val</td><td>The value to write: INPUT or INPUT_PULLUP means activate the pullup and OUTPUT means turn on the sinking transistor, as this is an open drain device </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if we were able to write the data successfully over I2C </dd></dl>
</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li><a class="el" href="_adafruit___p_c_f8575_8h_source.html">Adafruit_PCF8575.h</a></li>
<li><a class="el" href="_adafruit___p_c_f8575_8cpp.html">Adafruit_PCF8575.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 PCF8574 Arduino 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 PCF8574 Arduino 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 valign="top"><a class="el" href="class_adafruit___p_c_f8575.html">Adafruit_PCF8575</a>&#160;&#160;&#160;</td><td></td></tr>
<tr><td></td><td></td></tr>
<tr><td valign="top"><a class="el" href="class_adafruit___p_c_f8574.html">Adafruit_PCF8574</a>&#160;&#160;&#160;</td><td></td><td></td></tr>
<tr><td></td><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');
}
}

81
html/files.html Normal file
View file

@ -0,0 +1,81 @@
<!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 PCF8574 Arduino 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 PCF8574 Arduino 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___p_c_f8574_8cpp.html" target="_self">Adafruit_PCF8574.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___p_c_f8574_8h_source.html"><span class="icondoc"></span></a><a class="el" href="_adafruit___p_c_f8574_8h.html" target="_self">Adafruit_PCF8574.h</a></td><td class="desc"></td></tr>
<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icondoc"></span><a class="el" href="_adafruit___p_c_f8575_8cpp.html" target="_self">Adafruit_PCF8575.cpp</a></td><td class="desc">Adafruit PCF8575 I2C Potentiometer </td></tr>
<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><a href="_adafruit___p_c_f8575_8h_source.html"><span class="icondoc"></span></a><a class="el" href="_adafruit___p_c_f8575_8h.html" target="_self">Adafruit_PCF8575.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

105
html/functions.html Normal file
View file

@ -0,0 +1,105 @@
<!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 PCF8574 Arduino 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 PCF8574 Arduino 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_PCF8574()
: <a class="el" href="class_adafruit___p_c_f8574.html#a3a515be96e2ab7e65c1f1a84689f7e34">Adafruit_PCF8574</a>
</li>
<li>Adafruit_PCF8575()
: <a class="el" href="class_adafruit___p_c_f8575.html#ab19b589de52964bfcc4b910190c93c33">Adafruit_PCF8575</a>
</li>
<li>begin()
: <a class="el" href="class_adafruit___p_c_f8574.html#aafed32f7eb941c0ff9b82bdb94368763">Adafruit_PCF8574</a>
, <a class="el" href="class_adafruit___p_c_f8575.html#ac9538e01c53fb0e972f9970bd1201433">Adafruit_PCF8575</a>
</li>
<li>digitalRead()
: <a class="el" href="class_adafruit___p_c_f8574.html#a8d47c4c39b782b579553eea14e0e525d">Adafruit_PCF8574</a>
, <a class="el" href="class_adafruit___p_c_f8575.html#a59c74a95c74017c218e5d68a7e7667ea">Adafruit_PCF8575</a>
</li>
<li>digitalReadByte()
: <a class="el" href="class_adafruit___p_c_f8574.html#a9a21194cb41d893d34b65f5eccdf0a68">Adafruit_PCF8574</a>
</li>
<li>digitalReadWord()
: <a class="el" href="class_adafruit___p_c_f8575.html#af188b2cdcf57b7c29a2f8f05c41ea7a9">Adafruit_PCF8575</a>
</li>
<li>digitalWrite()
: <a class="el" href="class_adafruit___p_c_f8574.html#aea0c6d721d8fa736389b10dc8b5f3be1">Adafruit_PCF8574</a>
, <a class="el" href="class_adafruit___p_c_f8575.html#a28d91d422af7b136cb46a81742e080a4">Adafruit_PCF8575</a>
</li>
<li>digitalWriteByte()
: <a class="el" href="class_adafruit___p_c_f8574.html#afaa9535cfb66b74cf4348bb401e8bc3b">Adafruit_PCF8574</a>
</li>
<li>digitalWriteWord()
: <a class="el" href="class_adafruit___p_c_f8575.html#ac5d8cc319dcefaaa55c1a45f63d4d5f7">Adafruit_PCF8575</a>
</li>
<li>pinMode()
: <a class="el" href="class_adafruit___p_c_f8574.html#a101097ef55bbed2239a224a39148648c">Adafruit_PCF8574</a>
, <a class="el" href="class_adafruit___p_c_f8575.html#a8389f963b5da2409461a4a1496d2bb78">Adafruit_PCF8575</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>

105
html/functions_func.html Normal file
View file

@ -0,0 +1,105 @@
<!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 PCF8574 Arduino 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 PCF8574 Arduino 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_PCF8574()
: <a class="el" href="class_adafruit___p_c_f8574.html#a3a515be96e2ab7e65c1f1a84689f7e34">Adafruit_PCF8574</a>
</li>
<li>Adafruit_PCF8575()
: <a class="el" href="class_adafruit___p_c_f8575.html#ab19b589de52964bfcc4b910190c93c33">Adafruit_PCF8575</a>
</li>
<li>begin()
: <a class="el" href="class_adafruit___p_c_f8574.html#aafed32f7eb941c0ff9b82bdb94368763">Adafruit_PCF8574</a>
, <a class="el" href="class_adafruit___p_c_f8575.html#ac9538e01c53fb0e972f9970bd1201433">Adafruit_PCF8575</a>
</li>
<li>digitalRead()
: <a class="el" href="class_adafruit___p_c_f8574.html#a8d47c4c39b782b579553eea14e0e525d">Adafruit_PCF8574</a>
, <a class="el" href="class_adafruit___p_c_f8575.html#a59c74a95c74017c218e5d68a7e7667ea">Adafruit_PCF8575</a>
</li>
<li>digitalReadByte()
: <a class="el" href="class_adafruit___p_c_f8574.html#a9a21194cb41d893d34b65f5eccdf0a68">Adafruit_PCF8574</a>
</li>
<li>digitalReadWord()
: <a class="el" href="class_adafruit___p_c_f8575.html#af188b2cdcf57b7c29a2f8f05c41ea7a9">Adafruit_PCF8575</a>
</li>
<li>digitalWrite()
: <a class="el" href="class_adafruit___p_c_f8574.html#aea0c6d721d8fa736389b10dc8b5f3be1">Adafruit_PCF8574</a>
, <a class="el" href="class_adafruit___p_c_f8575.html#a28d91d422af7b136cb46a81742e080a4">Adafruit_PCF8575</a>
</li>
<li>digitalWriteByte()
: <a class="el" href="class_adafruit___p_c_f8574.html#afaa9535cfb66b74cf4348bb401e8bc3b">Adafruit_PCF8574</a>
</li>
<li>digitalWriteWord()
: <a class="el" href="class_adafruit___p_c_f8575.html#ac5d8cc319dcefaaa55c1a45f63d4d5f7">Adafruit_PCF8575</a>
</li>
<li>pinMode()
: <a class="el" href="class_adafruit___p_c_f8574.html#a101097ef55bbed2239a224a39148648c">Adafruit_PCF8574</a>
, <a class="el" href="class_adafruit___p_c_f8575.html#a8389f963b5da2409461a4a1496d2bb78">Adafruit_PCF8575</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>

77
html/globals.html Normal file
View file

@ -0,0 +1,77 @@
<!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 PCF8574 Arduino 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 PCF8574 Arduino 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>PCF8574_I2CADDR_DEFAULT
: <a class="el" href="_adafruit___p_c_f8574_8h.html#add1a243dd9163307e74c541c0ba76b3c">Adafruit_PCF8574.h</a>
</li>
<li>PCF8575_I2CADDR_DEFAULT
: <a class="el" href="_adafruit___p_c_f8575_8h.html#a06f6b65522ebdbfa1a966e5700ca3f5a">Adafruit_PCF8575.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>

77
html/globals_defs.html Normal file
View file

@ -0,0 +1,77 @@
<!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 PCF8574 Arduino 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 PCF8574 Arduino 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>PCF8574_I2CADDR_DEFAULT
: <a class="el" href="_adafruit___p_c_f8574_8h.html#add1a243dd9163307e74c541c0ba76b3c">Adafruit_PCF8574.h</a>
</li>
<li>PCF8575_I2CADDR_DEFAULT
: <a class="el" href="_adafruit___p_c_f8575_8h.html#a06f6b65522ebdbfa1a966e5700ca3f5a">Adafruit_PCF8575.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>

90
html/index.html Normal file
View file

@ -0,0 +1,90 @@
<!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 PCF8574 Arduino Library: Adafruit PCF8574 I2C Potentiometer</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 PCF8574 Arduino 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 PCF8574 I2C Potentiometer </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><h1><a class="anchor" id="intro_sec"></a>
Introduction</h1>
<p>I2C Driver for the NXP PCF8574 I2C GPIO expander</p>
<p>This is a library for the Adafruit PCF8574 breakout: <a href="http://www.adafruit.com/products">http://www.adafruit.com/products</a></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="dependencies"></a>
Dependencies</h1>
<p>This library depends on the Adafruit BusIO library</p>
<h1><a class="anchor" id="author"></a>
Author</h1>
<p>ladyada for Adafruit Industries</p>
<h1><a class="anchor" id="license"></a>
License</h1>
<p>BSD (see license.txt)</p>
<h1><a class="anchor" id="HISTORY"></a>
HISTORY</h1>
<p>v1.0 - First release </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>

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

@ -0,0 +1,10 @@
var searchData=
[
['adafruit_5fpcf8574',['Adafruit_PCF8574',['../class_adafruit___p_c_f8574.html',1,'Adafruit_PCF8574'],['../class_adafruit___p_c_f8574.html#a3a515be96e2ab7e65c1f1a84689f7e34',1,'Adafruit_PCF8574::Adafruit_PCF8574()']]],
['adafruit_5fpcf8574_2ecpp',['Adafruit_PCF8574.cpp',['../_adafruit___p_c_f8574_8cpp.html',1,'']]],
['adafruit_5fpcf8574_2eh',['Adafruit_PCF8574.h',['../_adafruit___p_c_f8574_8h.html',1,'']]],
['adafruit_5fpcf8575',['Adafruit_PCF8575',['../class_adafruit___p_c_f8575.html',1,'Adafruit_PCF8575'],['../class_adafruit___p_c_f8575.html#ab19b589de52964bfcc4b910190c93c33',1,'Adafruit_PCF8575::Adafruit_PCF8575()']]],
['adafruit_5fpcf8575_2ecpp',['Adafruit_PCF8575.cpp',['../_adafruit___p_c_f8575_8cpp.html',1,'']]],
['adafruit_5fpcf8575_2eh',['Adafruit_PCF8575.h',['../_adafruit___p_c_f8575_8h.html',1,'']]],
['adafruit_20pcf8574_20i2c_20potentiometer',['Adafruit PCF8574 I2C Potentiometer',['../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>

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

@ -0,0 +1,4 @@
var searchData=
[
['begin',['begin',['../class_adafruit___p_c_f8574.html#aafed32f7eb941c0ff9b82bdb94368763',1,'Adafruit_PCF8574::begin()'],['../class_adafruit___p_c_f8575.html#ac9538e01c53fb0e972f9970bd1201433',1,'Adafruit_PCF8575::begin()']]]
];

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>

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

@ -0,0 +1,9 @@
var searchData=
[
['digitalread',['digitalRead',['../class_adafruit___p_c_f8574.html#a8d47c4c39b782b579553eea14e0e525d',1,'Adafruit_PCF8574::digitalRead()'],['../class_adafruit___p_c_f8575.html#a59c74a95c74017c218e5d68a7e7667ea',1,'Adafruit_PCF8575::digitalRead()']]],
['digitalreadbyte',['digitalReadByte',['../class_adafruit___p_c_f8574.html#a9a21194cb41d893d34b65f5eccdf0a68',1,'Adafruit_PCF8574']]],
['digitalreadword',['digitalReadWord',['../class_adafruit___p_c_f8575.html#af188b2cdcf57b7c29a2f8f05c41ea7a9',1,'Adafruit_PCF8575']]],
['digitalwrite',['digitalWrite',['../class_adafruit___p_c_f8574.html#aea0c6d721d8fa736389b10dc8b5f3be1',1,'Adafruit_PCF8574::digitalWrite()'],['../class_adafruit___p_c_f8575.html#a28d91d422af7b136cb46a81742e080a4',1,'Adafruit_PCF8575::digitalWrite()']]],
['digitalwritebyte',['digitalWriteByte',['../class_adafruit___p_c_f8574.html#afaa9535cfb66b74cf4348bb401e8bc3b',1,'Adafruit_PCF8574']]],
['digitalwriteword',['digitalWriteWord',['../class_adafruit___p_c_f8575.html#ac5d8cc319dcefaaa55c1a45f63d4d5f7',1,'Adafruit_PCF8575']]]
];

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=
[
['pcf8574_5fi2caddr_5fdefault',['PCF8574_I2CADDR_DEFAULT',['../_adafruit___p_c_f8574_8h.html#add1a243dd9163307e74c541c0ba76b3c',1,'Adafruit_PCF8574.h']]],
['pcf8575_5fi2caddr_5fdefault',['PCF8575_I2CADDR_DEFAULT',['../_adafruit___p_c_f8575_8h.html#a06f6b65522ebdbfa1a966e5700ca3f5a',1,'Adafruit_PCF8575.h']]],
['pinmode',['pinMode',['../class_adafruit___p_c_f8574.html#a101097ef55bbed2239a224a39148648c',1,'Adafruit_PCF8574::pinMode()'],['../class_adafruit___p_c_f8575.html#a8389f963b5da2409461a4a1496d2bb78',1,'Adafruit_PCF8575::pinMode()']]]
];

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>

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

@ -0,0 +1,5 @@
var searchData=
[
['adafruit_5fpcf8574',['Adafruit_PCF8574',['../class_adafruit___p_c_f8574.html',1,'']]],
['adafruit_5fpcf8575',['Adafruit_PCF8575',['../class_adafruit___p_c_f8575.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>

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

@ -0,0 +1,5 @@
var searchData=
[
['pcf8574_5fi2caddr_5fdefault',['PCF8574_I2CADDR_DEFAULT',['../_adafruit___p_c_f8574_8h.html#add1a243dd9163307e74c541c0ba76b3c',1,'Adafruit_PCF8574.h']]],
['pcf8575_5fi2caddr_5fdefault',['PCF8575_I2CADDR_DEFAULT',['../_adafruit___p_c_f8575_8h.html#a06f6b65522ebdbfa1a966e5700ca3f5a',1,'Adafruit_PCF8575.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>

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

@ -0,0 +1,7 @@
var searchData=
[
['adafruit_5fpcf8574_2ecpp',['Adafruit_PCF8574.cpp',['../_adafruit___p_c_f8574_8cpp.html',1,'']]],
['adafruit_5fpcf8574_2eh',['Adafruit_PCF8574.h',['../_adafruit___p_c_f8574_8h.html',1,'']]],
['adafruit_5fpcf8575_2ecpp',['Adafruit_PCF8575.cpp',['../_adafruit___p_c_f8575_8cpp.html',1,'']]],
['adafruit_5fpcf8575_2eh',['Adafruit_PCF8575.h',['../_adafruit___p_c_f8575_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,5 @@
var searchData=
[
['adafruit_5fpcf8574',['Adafruit_PCF8574',['../class_adafruit___p_c_f8574.html#a3a515be96e2ab7e65c1f1a84689f7e34',1,'Adafruit_PCF8574']]],
['adafruit_5fpcf8575',['Adafruit_PCF8575',['../class_adafruit___p_c_f8575.html#ab19b589de52964bfcc4b910190c93c33',1,'Adafruit_PCF8575']]]
];

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,4 @@
var searchData=
[
['begin',['begin',['../class_adafruit___p_c_f8574.html#aafed32f7eb941c0ff9b82bdb94368763',1,'Adafruit_PCF8574::begin()'],['../class_adafruit___p_c_f8575.html#ac9538e01c53fb0e972f9970bd1201433',1,'Adafruit_PCF8575::begin()']]]
];

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,9 @@
var searchData=
[
['digitalread',['digitalRead',['../class_adafruit___p_c_f8574.html#a8d47c4c39b782b579553eea14e0e525d',1,'Adafruit_PCF8574::digitalRead()'],['../class_adafruit___p_c_f8575.html#a59c74a95c74017c218e5d68a7e7667ea',1,'Adafruit_PCF8575::digitalRead()']]],
['digitalreadbyte',['digitalReadByte',['../class_adafruit___p_c_f8574.html#a9a21194cb41d893d34b65f5eccdf0a68',1,'Adafruit_PCF8574']]],
['digitalreadword',['digitalReadWord',['../class_adafruit___p_c_f8575.html#af188b2cdcf57b7c29a2f8f05c41ea7a9',1,'Adafruit_PCF8575']]],
['digitalwrite',['digitalWrite',['../class_adafruit___p_c_f8574.html#aea0c6d721d8fa736389b10dc8b5f3be1',1,'Adafruit_PCF8574::digitalWrite()'],['../class_adafruit___p_c_f8575.html#a28d91d422af7b136cb46a81742e080a4',1,'Adafruit_PCF8575::digitalWrite()']]],
['digitalwritebyte',['digitalWriteByte',['../class_adafruit___p_c_f8574.html#afaa9535cfb66b74cf4348bb401e8bc3b',1,'Adafruit_PCF8574']]],
['digitalwriteword',['digitalWriteWord',['../class_adafruit___p_c_f8575.html#ac5d8cc319dcefaaa55c1a45f63d4d5f7',1,'Adafruit_PCF8575']]]
];

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,4 @@
var searchData=
[
['pinmode',['pinMode',['../class_adafruit___p_c_f8574.html#a101097ef55bbed2239a224a39148648c',1,'Adafruit_PCF8574::pinMode()'],['../class_adafruit___p_c_f8575.html#a8389f963b5da2409461a4a1496d2bb78',1,'Adafruit_PCF8575::pinMode()']]]
];

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_20pcf8574_20i2c_20potentiometer',['Adafruit PCF8574 I2C Potentiometer',['../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: "abdp",
1: "a",
2: "a",
3: "abdp",
4: "p",
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,10 +0,0 @@
name=Adafruit PCF8574
version=1.1.2
author=Adafruit
maintainer=Adafruit <info@adafruit.com>
sentence=Arduino library for the PCF8574 I2C GPIO expander Adafruit shop
paragraph=Arduino library for the PCF8574 I2C GPIO expander Adafruit shop
category=Device Control
url=https://github.com/adafruit/Adafruit_PCF8574
architectures=*
depends=Adafruit BusIO

View file

@ -1,26 +0,0 @@
Software License Agreement (BSD License)
Copyright (c) 2020 Bryan Siepert for Adafruit Industries
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
3. Neither the name of the copyright holders nor the
names of its contributors may be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ''AS IS'' AND ANY
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.