// // circlestrip.h // // ILEDStrip backed by Circle's CWS28XXStripe (WS2812B over SPI). // #ifndef _circlestrip_h #define _circlestrip_h #include #include "ledstrip.h" #include "config.h" class CCircleLEDStrip : public ILEDStrip { public: CCircleLEDStrip (void) : m_Stripe (WS2812B, LED_COUNT, 4000000, SPI_MASTER_DEVICE) { } bool Initialize (void) override { return m_Stripe.Initialize (); } unsigned GetLEDCount (void) const override { return m_Stripe.GetLEDCount (); } void SetLED (unsigned nIndex, uint8_t nRed, uint8_t nGreen, uint8_t nBlue) override { m_Stripe.SetLED (nIndex, nRed, nGreen, nBlue); } bool Update (void) override { return m_Stripe.Update (); } bool Blackout (void) override { return m_Stripe.Blackout (); } private: CWS28XXStripe m_Stripe; }; #endif