[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/Arduino-IRremote/Arduino-IRremote/master/src/digitalWriteFast.h [Back]  [Original]

/*
 * digitalWriteFast.h
 *
 * Optimized digital functions for AVR microcontrollers
 * by Watterott electronic (www.watterott.com)
 * based on https://code.google.com/p/digitalwritefast
 *
 * The value of DigitalReadFast() is the content of the input register e.g. 0x04 for pin2 and NOT always 0 or 1.
 *
 * License: BSD 3-Clause License (https://opensource.org/licenses/BSD-3-Clause)
 */

#ifndef __digitalWriteFast_h_
#define __digitalWriteFast_h_ 1

//#define THROW_ERROR_IF_NOT_FAST // If activated, an error is thrown if pin is not a compile time constant
void NonConstantsUsedForPinModeFast( void )  __attribute__ (( error("Parameter for pinModeFast() function is not constant") ));
void NonConstantsUsedForDigitalWriteFast( void )  __attribute__ (( error("Parameter for digitalWriteFast() function is not constant") ));
void NonConstantsUsedForDigitalToggleFast( void )  __attribute__ (( error("Parameter for digitalToggleFast() function is not constant") ));
int NonConstantsUsedForDigitalReadFast( void )  __attribute__ (( error("Parameter for digitalReadFast() function is not constant") ));

#if !defined(MEGATINYCORE) // megaTinyCore has it own digitalWriteFast function set, except digitalToggleFast().

//#define SANGUINO_PINOUT // define for Sanguino pinout

// general macros/defines
#if !defined(BIT_READ)
# define BIT_READ(value, bit)            ((value) &   (1UL 

Web Proxy Viewer  |  New URL  |  Original Page