Minimal library to work with APA102-based LED strips. Uses code from FastLED library.

Dependents:   MobileArcade

Revision:
0:c223864b981f
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/APA102.cpp	Tue Dec 11 06:29:34 2018 +0000
@@ -0,0 +1,32 @@
+#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--); 
+    
+}