Minimal library to work with APA102-based LED strips. Uses code from FastLED library.
APA102.cpp
- Committer:
- abraha2d
- Date:
- 2018-12-11
- Revision:
- 0:c223864b981f
File content as of revision 0:c223864b981f:
#include "mbed.h" #include "APA102.h" void fill_solid( struct CRGB * leds, int numToFill, const struct CRGB& color) { for(int i = 0; i < numToFill; i++) { leds[i] = color; } } void APA102_write(mbed::SPI& mSPI, struct CRGB * leds, int numToFill) { mSPI.write(0); mSPI.write(0); mSPI.write(0); mSPI.write(0); for (int i = 0; i < numToFill; ++i) { mSPI.write(0xE0 | 31); mSPI.write(leds[i].b); mSPI.write(leds[i].g); mSPI.write(leds[i].r); } int nDWords = numToFill / 32; do { mSPI.write(0xFF); mSPI.write(0x00); mSPI.write(0x00); mSPI.write(0x00); } while(nDWords--); }