Repetier-Firmware 0.2
Repetier/digitalWriteFast.h File Reference

Go to the source code of this file.

Defines

#define digitalPinToPortReg(P)   (((P) >= 0 && (P) <= 7) ? &PORTD : (((P) >= 8 && (P) <= 13) ? &PORTB : &PORTC))
#define digitalPinToDDRReg(P)   (((P) >= 0 && (P) <= 7) ? &DDRD : (((P) >= 8 && (P) <= 13) ? &DDRB : &DDRC))
#define digitalPinToPINReg(P)   (((P) >= 0 && (P) <= 7) ? &PIND : (((P) >= 8 && (P) <= 13) ? &PINB : &PINC))
#define digitalPinToBit(P)   (((P) >= 0 && (P) <= 7) ? (P) : (((P) >= 8 && (P) <= 13) ? (P) - 8 : (P) - 14))
#define digitalPinToTimer(P)
#define digitalPinToTimerBit(P)
#define digitalWriteFast(P, V)
#define pinModeFast(P, V)
#define digitalReadFast(P)   ( (int) __digitalReadFast__((P)) )
#define __digitalReadFast__(P)
#define digitalWriteFast2(P, V)
#define pinModeFast2(P, V)
#define digitalReadFast2(P)   ( (int) __digitalReadFast2__((P)) )
#define __digitalReadFast2__(P)

Define Documentation

#define __digitalReadFast2__ (   P)
Value:
(__builtin_constant_p(P) ) ? ( \
                ( bitRead(*digitalPinToPINReg(P), digitalPinToBit(P))) ) : \
                digitalRead((P))
#define __digitalReadFast__ (   P)
Value:
(__builtin_constant_p(P) ) ? ( \
                digitalPinToTimer(P) ? ( \
                       bitClear(*digitalPinToTimer(P), digitalPinToTimerBit(P)) ,  \
                             bitRead(*digitalPinToPINReg(P), digitalPinToBit(P))) : \
                  bitRead(*digitalPinToPINReg(P), digitalPinToBit(P)))  : \
                digitalRead((P))
#define digitalPinToBit (   P)    (((P) >= 0 && (P) <= 7) ? (P) : (((P) >= 8 && (P) <= 13) ? (P) - 8 : (P) - 14))
#define digitalPinToDDRReg (   P)    (((P) >= 0 && (P) <= 7) ? &DDRD : (((P) >= 8 && (P) <= 13) ? &DDRB : &DDRC))
#define digitalPinToPINReg (   P)    (((P) >= 0 && (P) <= 7) ? &PIND : (((P) >= 8 && (P) <= 13) ? &PINB : &PINC))
#define digitalPinToPortReg (   P)    (((P) >= 0 && (P) <= 7) ? &PORTD : (((P) >= 8 && (P) <= 13) ? &PORTB : &PORTC))
#define digitalPinToTimer (   P)
Value:
(((P) ==  6 || (P) ==  5) ? &TCCR0A : \
        (((P) ==  9 || (P) == 10) ? &TCCR1A : \
        (((P) == 11 || (P) ==  3) ? &TCCR2A : 0)))
#define digitalPinToTimerBit (   P)
Value:
(((P) ==  6) ? COM0A1 : (((P) ==  5) ? COM0B1 : \
        (((P) ==  9) ? COM1A1 : (((P) == 10) ? COM1B1 : \
        (((P) == 11) ? COM2A1 : COM2B1)))))
#define digitalReadFast (   P)    ( (int) __digitalReadFast__((P)) )
#define digitalReadFast2 (   P)    ( (int) __digitalReadFast2__((P)) )
#define digitalWriteFast (   P,
 
)
Value:
if (__builtin_constant_p(P) && __builtin_constant_p(V)) { \
                if (digitalPinToTimer(P)) \
                        bitClear(*digitalPinToTimer(P), digitalPinToTimerBit(P)); \
                bitWrite(*digitalPinToPortReg(P), digitalPinToBit(P), (V)); \
        } else { \
                digitalWrite((P), (V)); \
        }
#define digitalWriteFast2 (   P,
 
)
Value:
if (__builtin_constant_p(P) && __builtin_constant_p(V)) { \
                bitWrite(*digitalPinToPortReg(P), digitalPinToBit(P), (V)); \
        } else { \
                digitalWrite((P), (V)); \
        }
#define pinModeFast (   P,
 
)
Value:
if (__builtin_constant_p(P) && __builtin_constant_p(V)) { \
                bitWrite(*digitalPinToDDRReg(P), digitalPinToBit(P), (V)); \
        } else {  \
                pinMode((P), (V)); \
        }
#define pinModeFast2 (   P,
 
)
Value:
if (__builtin_constant_p(P) && __builtin_constant_p(V)) { \
                if (digitalPinToTimer(P)) \
                        bitClear(*digitalPinToTimer(P), digitalPinToTimerBit(P)); \
                bitWrite(*digitalPinToDDRReg(P), digitalPinToBit(P), (V)); \
        } else {  \
                pinMode((P), (V)); \
        }
 All Data Structures Files Functions Variables Typedefs Friends Defines