You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: AslFastPin/PORTING.md
-8Lines changed: 0 additions & 8 deletions
Original file line number
Diff line number
Diff line change
@@ -19,11 +19,3 @@ The heart of the FastLED library is the fast pin accesss. This is a templated c
19
19
There's two low level FastPin classes. There's the base FastPIN template class, and then there is FastPinBB which is for bit-banded access on those MCUs that support bitbanding. Note that the bitband class is optional and primarily useful in the implementation of other functionality internal to the platform. This file is also where you would do the pin to port/bit mapping defines.
20
20
21
21
Explaining how the macros work and should be used is currently beyond the scope of this document.
22
-
23
-
== Porting fastspi.h ==
24
-
25
-
This is where you define the low level interface to the hardware SPI system (including a writePixels method that does a bunch of housekeeping for writing led data). Use the fastspi_nop.h file as a reference for the methods that need to be implemented. There are ofteh other useful methods that can help with the internals of the SPI code, I recommend taking a look at how the various platforms implement their SPI classes.
26
-
27
-
== Porting clockless.h ==
28
-
29
-
This is where you define the code for the clockless controllers. Across ARM platforms this will usually be fairly similar - though different arm platforms will have different clock sources that you can/should use.
IMPORTANT NOTE: For AVR based systems, avr-gcc 4.8.x is supported and tested. This means Arduino 1.6.5 and later.
4
2
5
3
6
4
FastLED 3.1
7
5
===========
8
6
9
-
This is a library for easily & efficiently controlling a wide variety of LED chipsets, like the ones
10
-
sold by adafruit (Neopixel, DotStar, LPD8806), Sparkfun (WS2801), and aliexpress. In addition to writing to the
11
-
leds, this library also includes a number of functions for high-performing 8bit math for manipulating
12
-
your RGB values, as well as low level classes for abstracting out access to pins and SPI hardware, while
13
-
still keeping things as fast as possible. Tested with Arduino up to 1.6.5 from arduino.cc.
14
-
15
-
Quick note for people installing from GitHub repo zips, rename the folder FastLED before copying it to your Arduino/libraries folder. Github likes putting -branchname into the name of the folder, which unfortunately, makes Arduino cranky!
16
-
17
-
We have multiple goals with this library:
18
-
19
-
* Quick start for new developers - hook up your leds and go, no need to think about specifics of the led chipsets being used
20
-
* Zero pain switching LED chipsets - you get some new leds that the library supports, just change the definition of LEDs you're using, et. voila! Your code is running with the new leds.
21
-
* High performance - with features like zero cost global brightness scaling, high performance 8-bit math for RGB manipulation, and some of the fastest bit-bang'd SPI support around, FastLED wants to keep as many CPU cycles available for your led patterns as possible
22
-
23
-
## Getting help
24
-
25
-
If you need help with using the library, please consider going to the google+ community first, which is at http://fastled.io/+ - there are hundreds of people in that group and many times you will get a quicker answer to your question there, as you will be likely to run into other people who have had the same issue. If you run into bugs with the library (compilation failures, the library doing the wrong thing), or if you'd like to request that we support a particular platform or LED chipset, then please open an issue at http://fastled.io/issues and we will try to figure out what is going wrong.
26
-
27
-
## Simple example
28
-
29
-
How quickly can you get up and running with the library? Here's a simple blink program:
Here's a list of all the LED chipsets are supported. More details on the led chipsets are included *TODO: Link to wiki page*
43
-
44
-
* Adafruit's DotStars - AKA the APA102
45
-
* Adafruit's Neopixel - aka the WS2812B (also WS2811/WS2812/WS2813, also supported in lo-speed mode) - a 3 wire addressable led chipset
46
-
* TM1809/4 - 3 wire chipset, cheaply available on aliexpress.com
47
-
* TM1803 - 3 wire chipset, sold by radio shack
48
-
* UCS1903 - another 3 wire led chipset, cheap
49
-
* GW6205 - another 3 wire led chipset
50
-
* LPD8806 - SPI based chpiset, very high speed
51
-
* WS2801 - SPI based chipset, cheap and widely available
52
-
* SM16716 - SPI based chipset
53
-
* APA102 - SPI based chipset
54
-
* P9813 - aka Cool Neon's Total Control Lighting
55
-
* DMX - send rgb data out over DMX using arduino DMX libraries
56
-
* SmartMatrix panels - needs the SmartMatrix library - https://github.com/pixelmatix/SmartMatrix
57
-
58
-
59
-
LPD6803, HL1606, and "595"-style shift registers are no longer supported by the library. The older Version 1 of the library ("FastSPI_LED") has support for these, but is missing many of the advanced features of current versions and is no longer being maintained.
60
-
61
-
62
7
## Supported platforms
63
8
64
9
Right now the library is supported on a variety of arduino compatable platforms. If it's ARM or AVR and uses the arduino software (or a modified version of it to build) then it is likely supported. Note that we have a long list of upcoming platforms to support, so if you don't see what you're looking for here, ask, it may be on the roadmap (or may already be supported). N.B. at the moment we are only supporting the stock compilers that ship with the arduino software. Support for upgraded compilers, as well as using AVR studio and skipping the arduino entirely, should be coming in a near future release.
@@ -73,16 +18,3 @@ Right now the library is supported on a variety of arduino compatable platforms.
73
18
* Arduino Zero
74
19
* ESP8266 using the arduino board definitions from http://arduino.esp8266.com/stable/package_esp8266com_index.json - please be sure to also read https://github.com/FastLED/FastLED/wiki/ESP8266-notes for information specific to the 8266.
75
20
* The wino board - http://wino-board.com
76
-
77
-
What types of platforms are we thinking about supporting in the future? Here's a short list: ChipKit32, Maple, Beagleboard
78
-
79
-
## What about that name?
80
-
81
-
Wait, what happend to FastSPI_LED and FastSPI_LED2? The library was initially named FastSPI_LED because it was focused on very fast and efficient SPI access. However, since then, the library has expanded to support a number of LED chipsets that don't use SPI, as well as a number of math and utility functions for LED processing across the board. We decided that the name FastLED more accurately represents the totality of what the library provides, everything fast, for LEDs.
82
-
83
-
## For more information
84
-
85
-
Check out the official site http://fastled.io for links to documentation, issues, and news
0 commit comments