Digital IO
Classes | Functions | Variables
Fast Pin I/O

Classes

class  DigitalPin< PinNumber >
 Fast AVR digital port I/O. More...
class  pin_map_t
 struct for mapping digital pins More...

Functions

static void badPinCheck (uint8_t pin)
void badPinNumber (void)
static void fastBitWriteSafe (volatile uint8_t *address, uint8_t bit, bool level)
static bool fastDigitalRead (uint8_t pin)
static void fastDigitalToggle (uint8_t pin)
static void fastDigitalWrite (uint8_t pin, bool level)
static void fastPinConfig (uint8_t pin, bool mode, bool level)
static void fastPinMode (uint8_t pin, bool mode)

Variables

static const uint8_t digitalPinCount = sizeof(pinMap)/sizeof(pin_map_t)

Detailed Description

Fast Digital I/O functions and template class.


Function Documentation

static void badPinCheck ( uint8_t  pin) [inline, static]

Check for valid pin number

Parameters:
[in]pinNumber of pin to be checked.

Definition at line 403 of file DigitalPin.h.

void badPinNumber ( void  )

generate bad pin number error

static void fastBitWriteSafe ( volatile uint8_t *  address,
uint8_t  bit,
bool  level 
) [inline, static]

fast write helper

Parameters:
[in]addressI/O register address
[in]bitbit number to write
[in]levelvalue for bit

Definition at line 415 of file DigitalPin.h.

static bool fastDigitalRead ( uint8_t  pin) [inline, static]

read pin value

Parameters:
[in]pinArduino pin number
Returns:
value read

Definition at line 436 of file DigitalPin.h.

static void fastDigitalToggle ( uint8_t  pin) [inline, static]

toggle a pin

Parameters:
[in]pinArduino pin number

If the pin is in output mode toggle the pin level. If the pin is in input mode toggle the state of the 20K pullup.

Definition at line 448 of file DigitalPin.h.

static void fastDigitalWrite ( uint8_t  pin,
bool  level 
) [inline, static]

Set pin value

Parameters:
[in]pinArduino pin number
[in]levelvalue to write

Definition at line 464 of file DigitalPin.h.

static void fastPinConfig ( uint8_t  pin,
bool  mode,
bool  level 
) [inline, static]

set pin configuration

Parameters:
[in]pinArduino pin number
[in]modeIf true set output mode else input mode
[in]levelIf mode is output, set level high/low. If mode is input, enable or disable the pin's 20K pullup.

Definition at line 488 of file DigitalPin.h.

static void fastPinMode ( uint8_t  pin,
bool  mode 
) [inline, static]

set pin mode

Parameters:
[in]pinArduino pin number
[in]modeif true set output mode else input mode

fastPinMode does not enable or disable the 20K pullup for input mode.

Definition at line 476 of file DigitalPin.h.


Variable Documentation

const uint8_t digitalPinCount = sizeof(pinMap)/sizeof(pin_map_t) [static]

count of pins

Definition at line 393 of file DigitalPin.h.

 All Classes Files Functions Variables Defines