Digital IO
 All Classes Files Functions Variables Macros Groups Pages
Classes | Functions | Variables
Fast Pin I/O

Classes

class  DigitalPin< PinNumber >
 Fast 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)
inlinestatic

Check for valid pin number

Parameters
[in]pinNumber of pin to be checked.

Definition at line 458 of file DigitalPin.h.

void badPinNumber ( void  )

generate bad pin number error

static void fastBitWriteSafe ( volatile uint8_t *  address,
uint8_t  bit,
bool  level 
)
inlinestatic

fast write helper

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

Definition at line 470 of file DigitalPin.h.

static bool fastDigitalRead ( uint8_t  pin)
inlinestatic

read pin value

Parameters
[in]pinArduino pin number
Returns
value read

Definition at line 491 of file DigitalPin.h.

static void fastDigitalToggle ( uint8_t  pin)
inlinestatic

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 503 of file DigitalPin.h.

static void fastDigitalWrite ( uint8_t  pin,
bool  level 
)
inlinestatic

Set pin value

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

Definition at line 519 of file DigitalPin.h.

static void fastPinConfig ( uint8_t  pin,
bool  mode,
bool  level 
)
inlinestatic

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 545 of file DigitalPin.h.

static void fastPinMode ( uint8_t  pin,
bool  mode 
)
inlinestatic

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 531 of file DigitalPin.h.

Variable Documentation

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

count of pins

Definition at line 448 of file DigitalPin.h.