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
_ARMPIN_BITBAND< PIN, _BIT, _PDOR, _PSOR, _PCOR, _PTOR, _PDIR, _PDDR > Class Template Reference

Template definition for teensy 3.0 style ARM pins using bit banding, providing direct access to the various GPIO registers. GCC does a poor job of optimizing around these accesses so they are not being used just yet. More...

#include <TFT_FastPin.h>

Public Types

typedef volatile uint32_t * port_ptr_t
 
typedef uint32_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 port_t val) __attribute__((always_inline))
 
static void strobe () __attribute__((always_inline))
 
static void toggle () __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 port_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, int _BIT, typename _PDOR, typename _PSOR, typename _PCOR, typename _PTOR, typename _PDIR, typename _PDDR>
class _ARMPIN_BITBAND< PIN, _BIT, _PDOR, _PSOR, _PCOR, _PTOR, _PDIR, _PDDR >

Template definition for teensy 3.0 style ARM pins using bit banding, providing direct access to the various GPIO registers. GCC does a poor job of optimizing around these accesses so they are not being used just yet.

Definition at line 230 of file TFT_FastPin.h.

Member Typedef Documentation

template<uint8_t PIN, int _BIT, typename _PDOR , typename _PSOR , typename _PCOR , typename _PTOR , typename _PDIR , typename _PDDR >
typedef volatile uint32_t* _ARMPIN_BITBAND< PIN, _BIT, _PDOR, _PSOR, _PCOR, _PTOR, _PDIR, _PDDR >::port_ptr_t

Definition at line 232 of file TFT_FastPin.h.

template<uint8_t PIN, int _BIT, typename _PDOR , typename _PSOR , typename _PCOR , typename _PTOR , typename _PDIR , typename _PDDR >
typedef uint32_t _ARMPIN_BITBAND< PIN, _BIT, _PDOR, _PSOR, _PCOR, _PTOR, _PDIR, _PDDR >::port_t

Definition at line 233 of file TFT_FastPin.h.

Member Function Documentation

template<uint8_t PIN, int _BIT, typename _PDOR , typename _PSOR , typename _PCOR , typename _PTOR , typename _PDIR , typename _PDDR >
static void _ARMPIN_BITBAND< PIN, _BIT, _PDOR, _PSOR, _PCOR, _PTOR, _PDIR, _PDDR >::fastset ( register port_ptr_t  port,
register port_t  val 
)
inlinestatic

Definition at line 248 of file TFT_FastPin.h.

template<uint8_t PIN, int _BIT, typename _PDOR , typename _PSOR , typename _PCOR , typename _PTOR , typename _PDIR , typename _PDDR >
static void _ARMPIN_BITBAND< PIN, _BIT, _PDOR, _PSOR, _PCOR, _PTOR, _PDIR, _PDDR >::hi ( )
inlinestatic

Definition at line 238 of file TFT_FastPin.h.

template<uint8_t PIN, int _BIT, typename _PDOR , typename _PSOR , typename _PCOR , typename _PTOR , typename _PDIR , typename _PDDR >
static void _ARMPIN_BITBAND< PIN, _BIT, _PDOR, _PSOR, _PCOR, _PTOR, _PDIR, _PDDR >::hi ( register port_ptr_t  port)
inlinestatic

Definition at line 246 of file TFT_FastPin.h.

template<uint8_t PIN, int _BIT, typename _PDOR , typename _PSOR , typename _PCOR , typename _PTOR , typename _PDIR , typename _PDDR >
static port_t _ARMPIN_BITBAND< PIN, _BIT, _PDOR, _PSOR, _PCOR, _PTOR, _PDIR, _PDDR >::hival ( )
inlinestatic

Definition at line 250 of file TFT_FastPin.h.

template<uint8_t PIN, int _BIT, typename _PDOR , typename _PSOR , typename _PCOR , typename _PTOR , typename _PDIR , typename _PDDR >
static void _ARMPIN_BITBAND< PIN, _BIT, _PDOR, _PSOR, _PCOR, _PTOR, _PDIR, _PDDR >::lo ( )
inlinestatic

Definition at line 239 of file TFT_FastPin.h.

template<uint8_t PIN, int _BIT, typename _PDOR , typename _PSOR , typename _PCOR , typename _PTOR , typename _PDIR , typename _PDDR >
static void _ARMPIN_BITBAND< PIN, _BIT, _PDOR, _PSOR, _PCOR, _PTOR, _PDIR, _PDDR >::lo ( register port_ptr_t  port)
inlinestatic

Definition at line 247 of file TFT_FastPin.h.

template<uint8_t PIN, int _BIT, typename _PDOR , typename _PSOR , typename _PCOR , typename _PTOR , typename _PDIR , typename _PDDR >
static port_t _ARMPIN_BITBAND< PIN, _BIT, _PDOR, _PSOR, _PCOR, _PTOR, _PDIR, _PDDR >::loval ( )
inlinestatic

Definition at line 251 of file TFT_FastPin.h.

template<uint8_t PIN, int _BIT, typename _PDOR , typename _PSOR , typename _PCOR , typename _PTOR , typename _PDIR , typename _PDDR >
static port_t _ARMPIN_BITBAND< PIN, _BIT, _PDOR, _PSOR, _PCOR, _PTOR, _PDIR, _PDDR >::mask ( )
inlinestatic

Definition at line 253 of file TFT_FastPin.h.

template<uint8_t PIN, int _BIT, typename _PDOR , typename _PSOR , typename _PCOR , typename _PTOR , typename _PDIR , typename _PDDR >
static port_ptr_t _ARMPIN_BITBAND< PIN, _BIT, _PDOR, _PSOR, _PCOR, _PTOR, _PDIR, _PDDR >::port ( )
inlinestatic

Definition at line 252 of file TFT_FastPin.h.

template<uint8_t PIN, int _BIT, typename _PDOR , typename _PSOR , typename _PCOR , typename _PTOR , typename _PDIR , typename _PDDR >
static void _ARMPIN_BITBAND< PIN, _BIT, _PDOR, _PSOR, _PCOR, _PTOR, _PDIR, _PDDR >::set ( register port_t  val)
inlinestatic

Definition at line 240 of file TFT_FastPin.h.

template<uint8_t PIN, int _BIT, typename _PDOR , typename _PSOR , typename _PCOR , typename _PTOR , typename _PDIR , typename _PDDR >
static void _ARMPIN_BITBAND< PIN, _BIT, _PDOR, _PSOR, _PCOR, _PTOR, _PDIR, _PDDR >::setInput ( )
inlinestatic

Definition at line 236 of file TFT_FastPin.h.

template<uint8_t PIN, int _BIT, typename _PDOR , typename _PSOR , typename _PCOR , typename _PTOR , typename _PDIR , typename _PDDR >
static void _ARMPIN_BITBAND< PIN, _BIT, _PDOR, _PSOR, _PCOR, _PTOR, _PDIR, _PDDR >::setOutput ( )
inlinestatic

Definition at line 235 of file TFT_FastPin.h.

template<uint8_t PIN, int _BIT, typename _PDOR , typename _PSOR , typename _PCOR , typename _PTOR , typename _PDIR , typename _PDDR >
static void _ARMPIN_BITBAND< PIN, _BIT, _PDOR, _PSOR, _PCOR, _PTOR, _PDIR, _PDDR >::strobe ( )
inlinestatic

Definition at line 242 of file TFT_FastPin.h.

template<uint8_t PIN, int _BIT, typename _PDOR , typename _PSOR , typename _PCOR , typename _PTOR , typename _PDIR , typename _PDDR >
static void _ARMPIN_BITBAND< PIN, _BIT, _PDOR, _PSOR, _PCOR, _PTOR, _PDIR, _PDDR >::toggle ( )
inlinestatic

Definition at line 244 of file TFT_FastPin.h.


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