Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FastLED/FastLED.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordanielgarcia@gmail.com <danielgarcia@gmail.com@4ad4ec5c-605d-bd5c-5796-512c9b60011b>2013-03-26 08:07:27 +0400
committerdanielgarcia@gmail.com <danielgarcia@gmail.com@4ad4ec5c-605d-bd5c-5796-512c9b60011b>2013-03-26 08:07:27 +0400
commit242d24a680d9ee78966d131afe25067f293e65c0 (patch)
treec2a61e9127840895561c43487fe5682e03e34dc3 /fastspi.h
parentbde4b1bdc14a3cfe4942cf35a7db8d180a69e929 (diff)
Add functions to allow clearing an arbitrary number of leds down to 0.
Diffstat (limited to 'fastspi.h')
-rw-r--r--fastspi.h20
1 files changed, 10 insertions, 10 deletions
diff --git a/fastspi.h b/fastspi.h
index 04857f26..fb0f5d70 100644
--- a/fastspi.h
+++ b/fastspi.h
@@ -107,7 +107,11 @@ public:
// wait until the SPI subsystem is ready for more data to write. A NOP when bitbanging
static void wait() __attribute__((always_inline)) { }
-
+ static void waitFully() __attribute__((always_inline)) { wait(); }
+
+ static void writeByteNoWait(uint8_t b) __attribute__((always_inline)) { writeByte(b); }
+ static void writeBytePostWait(uint8_t b) __attribute__((always_inline)) { writeByte(b); wait(); }
+
// naive writeByte implelentation, simply calls writeBit on the 8 bits in the byte.
static void writeByte(uint8_t b) __attribute__((always_inline)) {
writeBit<7>(b);
@@ -449,7 +453,10 @@ public:
}
static void wait() __attribute__((always_inline)) { while(!(UCSR0A & (1<<UDRE0))); }
-
+ static void waitFully() __attribute__((always_inline)) { wait(); }
+
+ static void writeByteNoWait(uint8_t b) __attribute__((always_inline)) { UDR0 = b;}
+ static void writeBytePostWait(uint8_t b) __attribute__((always_inline)) { UDR0 = b; wait(); }
static void writeByte(uint8_t b) __attribute__((always_inline)) { wait(); UDR0 = b; }
template <uint8_t BIT> inline static void writeBit(uint8_t b) {
@@ -589,6 +596,7 @@ public:
}
static void wait() __attribute__((always_inline)) { while(!(SPSR & (1<<SPIF))); }
+ static void waitFully() __attribute__((always_inline)) { wait(); }
static void writeByte(uint8_t b) __attribute__((always_inline)) { wait(); SPDR=b; }
static void writeBytePostWait(uint8_t b) __attribute__((always_inline)) { SPDR=b; wait(); }
@@ -793,14 +801,6 @@ public:
}
}
- // push 192 0s to prime the spi stuff
- select();
- writeByteNoWait(0);
- for(int i = 0; i < 191; i++) {
- writeByte(0); writeByte(0); writeByte(0);
- }
- waitFully();
- release();
}
static void waitFully() __attribute__((always_inline)) {