atMETEO
An ATmega based weather station
Classes | Namespaces | Typedefs

Wrapper for accessing digital I/O ports. More...

#include <external/avr_io_cpp.h>
#include "lib/utils.h"
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Avr::DigitalIo< DDR, PORT, PIN >
 Digital I/O register configuration. More...
 
struct  Avr::OutputConfiguration< TDigitalIo, pinNumber >
 Output configuration parameter for pin (normal mode). More...
 
struct  Avr::OutputConfigurationInverted< TDigitalIo, pinNumber >
 Output configuration parameter for pin (for inverted output pins / active low configuration). More...
 
struct  Avr::OutputConfigurationDisabled< TDigitalIo, pinNumber >
 Output configuration parameter for pin (disabled). More...
 
struct  Avr::InputConfiguration< TDigitalIo, pinNumber >
 Input configuration parameter for pin (normal mode). More...
 
struct  Avr::InputConfigurationDisabled< TDigitalIo, pinNumber >
 Input configuration parameter for pin (disabled). More...
 
struct  Avr::OutputPin< TDigitalIo, pinNumber >
 Output pin (normal mode). More...
 
struct  Avr::OutputPinInverted< TDigitalIo, pinNumber >
 Inverted output pin (active low configuration). More...
 
struct  Avr::InputPin< TDigitalIo, pinNumber >
 Input pin. More...
 
struct  Avr::InputOutputPin< TDigitalIo, pinNumber >
 Input / Output pin (initially configured as output pin). More...
 

Namespaces

 Avr
 Namespace containing all symbols of the AVR C++ utilities library.
 

Typedefs

using Avr::DigitalIoA = DigitalIo< AVR_IOR_PARAM(DDRA), AVR_IOR_PARAM(PORTA), AVR_IOR_PARAM(PINA)>
 Digital I/O Port A register configuration. More...
 
using Avr::DigitalIoB = DigitalIo< AVR_IOR_PARAM(DDRB), AVR_IOR_PARAM(PORTB), AVR_IOR_PARAM(PINB)>
 Digital I/O Port B register configuration. More...
 
using Avr::DigitalIoC = DigitalIo< AVR_IOR_PARAM(DDRC), AVR_IOR_PARAM(PORTC), AVR_IOR_PARAM(PINC)>
 Digital I/O Port C register configuration. More...
 
using Avr::DigitalIoD = DigitalIo< AVR_IOR_PARAM(DDRD), AVR_IOR_PARAM(PORTD), AVR_IOR_PARAM(PIND)>
 Digital I/O Port D register configuration. More...
 

Detailed Description

Wrapper for accessing digital I/O ports.

This module provides convenient access to digital I/O ports using the following classes: Avr::InputPin, Avr::OutputPin, Avr::OutputPinInverted, Avr::InputOutputPin.

If needed, the set of predefined input / output pins can be extended using the template configuration classes: Avr::OutputConfiguration, Avr::OutputConfigurationInverted, Avr::OutputConfigurationDisabled, Avr::InputConfiguration, Avr::InputConfigurationDisabled.

In addition this module provides access to common digital I/O registers for the usage with the classes mentioned above: Avr::DigitalIoA, Avr::DigitalIoB, Avr::DigitalIoC, Avr::DigitalIoD.

Usage:

using namespace Avr;
while (true) {
pd2.set(pd1.isSet());
_delay_ms(1000);
}