AberLED shield library
Library for the bicolor LED (and TFT screen) shield used in CS12020
Public Types | Static Public Member Functions | List of all members
_AVRPIN< PIN, _MASK, _PORT, _DDR, _PIN > Class Template Reference

Class definition for a Pin where we know the port registers at compile time for said pin. This allows us to make a lot of optimizations, as the inlined hi/lo methods will devolve to a single io register write/bitset. More...

#include <TFT_FastPin.h>

Public Types

typedef volatile uint8_t * port_ptr_t
 
typedef uint8_t port_t
 

Static Public Member Functions

static void setOutput ()
 
static void setInput ()
 
static void hi () __attribute__((always_inline))
 
static void lo () __attribute__((always_inline))
 
static void set (register uint8_t val) __attribute__((always_inline))
 
static void strobe () __attribute__((always_inline))
 
static void hi (register port_ptr_t port) __attribute__((always_inline))
 
static void lo (register port_ptr_t port) __attribute__((always_inline))
 
static void fastset (register port_ptr_t port, register uint8_t val) __attribute__((always_inline))
 
static port_t hival () __attribute__((always_inline))
 
static port_t loval () __attribute__((always_inline))
 
static port_ptr_t port () __attribute__((always_inline))
 
static port_t mask () __attribute__((always_inline))
 

Detailed Description

template<uint8_t PIN, uint8_t _MASK, typename _PORT, typename _DDR, typename _PIN>
class _AVRPIN< PIN, _MASK, _PORT, _DDR, _PIN >

Class definition for a Pin where we know the port registers at compile time for said pin. This allows us to make a lot of optimizations, as the inlined hi/lo methods will devolve to a single io register write/bitset.

Definition at line 175 of file TFT_FastPin.h.

Member Typedef Documentation

template<uint8_t PIN, uint8_t _MASK, typename _PORT , typename _DDR , typename _PIN >
typedef volatile uint8_t* _AVRPIN< PIN, _MASK, _PORT, _DDR, _PIN >::port_ptr_t

Definition at line 177 of file TFT_FastPin.h.

template<uint8_t PIN, uint8_t _MASK, typename _PORT , typename _DDR , typename _PIN >
typedef uint8_t _AVRPIN< PIN, _MASK, _PORT, _DDR, _PIN >::port_t

Definition at line 178 of file TFT_FastPin.h.

Member Function Documentation

template<uint8_t PIN, uint8_t _MASK, typename _PORT , typename _DDR , typename _PIN >
static void _AVRPIN< PIN, _MASK, _PORT, _DDR, _PIN >::fastset ( register port_ptr_t  port,
register uint8_t  val 
)
inlinestatic

Definition at line 191 of file TFT_FastPin.h.

template<uint8_t PIN, uint8_t _MASK, typename _PORT , typename _DDR , typename _PIN >
static void _AVRPIN< PIN, _MASK, _PORT, _DDR, _PIN >::hi ( )
inlinestatic

Definition at line 183 of file TFT_FastPin.h.

template<uint8_t PIN, uint8_t _MASK, typename _PORT , typename _DDR , typename _PIN >
static void _AVRPIN< PIN, _MASK, _PORT, _DDR, _PIN >::hi ( register port_ptr_t  port)
inlinestatic

Definition at line 189 of file TFT_FastPin.h.

template<uint8_t PIN, uint8_t _MASK, typename _PORT , typename _DDR , typename _PIN >
static port_t _AVRPIN< PIN, _MASK, _PORT, _DDR, _PIN >::hival ( )
inlinestatic

Definition at line 193 of file TFT_FastPin.h.

template<uint8_t PIN, uint8_t _MASK, typename _PORT , typename _DDR , typename _PIN >
static void _AVRPIN< PIN, _MASK, _PORT, _DDR, _PIN >::lo ( )
inlinestatic

Definition at line 184 of file TFT_FastPin.h.

template<uint8_t PIN, uint8_t _MASK, typename _PORT , typename _DDR , typename _PIN >
static void _AVRPIN< PIN, _MASK, _PORT, _DDR, _PIN >::lo ( register port_ptr_t  port)
inlinestatic

Definition at line 190 of file TFT_FastPin.h.

template<uint8_t PIN, uint8_t _MASK, typename _PORT , typename _DDR , typename _PIN >
static port_t _AVRPIN< PIN, _MASK, _PORT, _DDR, _PIN >::loval ( )
inlinestatic

Definition at line 194 of file TFT_FastPin.h.

template<uint8_t PIN, uint8_t _MASK, typename _PORT , typename _DDR , typename _PIN >
static port_t _AVRPIN< PIN, _MASK, _PORT, _DDR, _PIN >::mask ( )
inlinestatic

Definition at line 196 of file TFT_FastPin.h.

template<uint8_t PIN, uint8_t _MASK, typename _PORT , typename _DDR , typename _PIN >
static port_ptr_t _AVRPIN< PIN, _MASK, _PORT, _DDR, _PIN >::port ( )
inlinestatic

Definition at line 195 of file TFT_FastPin.h.

template<uint8_t PIN, uint8_t _MASK, typename _PORT , typename _DDR , typename _PIN >
static void _AVRPIN< PIN, _MASK, _PORT, _DDR, _PIN >::set ( register uint8_t  val)
inlinestatic

Definition at line 185 of file TFT_FastPin.h.

template<uint8_t PIN, uint8_t _MASK, typename _PORT , typename _DDR , typename _PIN >
static void _AVRPIN< PIN, _MASK, _PORT, _DDR, _PIN >::setInput ( )
inlinestatic

Definition at line 181 of file TFT_FastPin.h.

template<uint8_t PIN, uint8_t _MASK, typename _PORT , typename _DDR , typename _PIN >
static void _AVRPIN< PIN, _MASK, _PORT, _DDR, _PIN >::setOutput ( )
inlinestatic

Definition at line 180 of file TFT_FastPin.h.

template<uint8_t PIN, uint8_t _MASK, typename _PORT , typename _DDR , typename _PIN >
static void _AVRPIN< PIN, _MASK, _PORT, _DDR, _PIN >::strobe ( )
inlinestatic

Definition at line 187 of file TFT_FastPin.h.


The documentation for this class was generated from the following file: