From 6859841c3f524774655154be225fe1a65699002b Mon Sep 17 00:00:00 2001 From: wayland Date: Mon, 1 Dec 2014 10:04:27 +0100 Subject: [PATCH] Added APA102 Led Device headers Former-commit-id: bd9a5d1216d37275bcb807e19d043e1ea1e3ead6 --- libsrc/leddevice/LedDeviceAPA102.h | 41 ++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 libsrc/leddevice/LedDeviceAPA102.h diff --git a/libsrc/leddevice/LedDeviceAPA102.h b/libsrc/leddevice/LedDeviceAPA102.h new file mode 100644 index 00000000..d707ebdb --- /dev/null +++ b/libsrc/leddevice/LedDeviceAPA102.h @@ -0,0 +1,41 @@ +#pragma once + +// STL includes +#include + +// hyperion incluse +#include "LedSpiDevice.h" + +/// +/// Implementation of the LedDevice interface for writing to APA102 led device. +/// +/// APA102 is +/// +class LedDeviceAPA102 : public LedSpiDevice +{ +public: + /// + /// Constructs the LedDevice for a string containing leds of the type APA102 + /// + /// @param outputDevice The name of the output device (eg '/etc/SpiDev.0.0') + /// @param baudrate The used baudrate for writing to the output device + /// + LedDeviceAPA102(const std::string& outputDevice, + const unsigned baudrate); + + /// + /// Writes the led color values to the led-device + /// + /// @param ledValues The color-value per led + /// @return Zero on succes else negative + /// + virtual int write(const std::vector &ledValues); + + /// Switch the leds off + virtual int switchOff(); + +private: + + /// the number of leds (needed when switching off) + size_t mLedCount; +};