FastLED 3.9.3
|
Class base definitions for defining fast pin access.
Definition in file fastpin.h.
Go to the source code of this file.
Classes | |
class | Selectable |
Abstract class for "selectable" things. More... | |
class | Pin |
Naive fallback solution for low level pin access. More... | |
class | OutputPin |
I/O pin initially set to OUTPUT. More... | |
class | InputPin |
I/O pin initially set to INPUT. More... | |
class | FastPin< PIN > |
The simplest level of Pin class. More... | |
class | FastPinBB< PIN > |
FastPin implementation for bit-banded access. More... | |
struct | __FL_PORT_INFO< port > |
Utility template for tracking down information about pins and ports. More... | |
Macros | |
#define | NO_PIN 255 |
Constant for "not a pin". | |
#define | _FL_DEFINE_PORT(L, BASE) |
Macro to create the instantiations for defined ports. | |
#define | _FL_DEFINE_PORT3(L, LC, BASE) |
Macro to create the instantiations for defined ports. | |
Typedefs | |
typedef volatile uint32_t & | reg32_t |
Reference to a 32-bit register, volatile. | |
typedef volatile uint32_t * | ptr_reg32_t |
Pointer to a 32-bit register, volatile. | |
#define _FL_DEFINE_PORT | ( | L, | |
BASE ) |
Macro to create the instantiations for defined ports.
We're going to abuse this later for auto discovery of pin/port mappings for new variants.
Use this for ports that are numeric in nature, e.g. GPIO0, GPIO1, etc.
L | the number of the port |
BASE | the data type for the register |
#define _FL_DEFINE_PORT3 | ( | L, | |
LC, | |||
BASE ) |
Macro to create the instantiations for defined ports.
We're going to abuse this later for auto discovery of pin/port mappings for new variants.
Use this for ports that are letters. The first parameter will be the letter, the second parameter will be an integer/counter of some kind. This is because attempts to turn macro parameters into character constants break in some compilers.
L | the letter of the port |
LC | an integer counter |
BASE | the data type for the register |
#define NO_PIN 255 |
typedef volatile uint32_t* ptr_reg32_t |