I’m continuing to improve my spherical POV display. After swapping out the Arduino Uno for a Teensy 3.2, I’m getting flickering and wrong colors on the last LED in the strip. This is consistent no matter how many LEDs of my 40 I actually address.
I’m using the latest version of FastLED (pulled last night) and hardware SPI. Hardware is a Teensy 3.2, SN74HCT245N for level shifting, and 2 20-LED WS2801 strips from adafruit wired in series.
I found previous commits that wait for data to be written out to the bus before releasing the hardware SPI pins. Looking at the code for arm_k20, it does indeed call waitFully() before release(). But, when I comment out the release() call. the whole strip paints properly. So, I’m wondering if the waitFully() implementation for arm_k20 is correct.
Huh - that’s possible - can you do me a favor and actually file a bug report at http://fastled.io/issues - this is a horrible place to track getting bugs fixed 
Have you tried reducing the SPI speed to only 12 MHz? On Teensy, FastSPI uses 24 MHz as its default, but many LED strips can’t handle this speed well. Before spending a lot of time on other stuff, give 12 MHz a try.
No - I think he’s right - I’m releasing the hardware spi device before it’s finished writing out. I need to double check how I’m verifying that the spi hardware is done writing before releasing it. (And I release the hardware spi to allow four four combinations of clock/data pins to use hardware spi on the teensy 
I tried 1MHz, no change (passed in as data rate in the strip constructor). My strip craps out over 4Mhz anyway, so that’s what I’m using by default.
BTW, thanks to you both. FastLED and Teensy are both wonderful. I’m using the Teensy for a bunch of projects now and the price, performance, and feature set is incredible. Just by switching to a Teensy, I’m able to spin my POV display 25% faster than with the Arduino.
The only thing holding me back now is the WS2801’s requirement for a 500us latch time between updates, (actually set at 1ms in FastLED). In practice I can get by with 650us but less than that and it glitches like crazy. I have some APA102s ready for my next project.