summaryrefslogtreecommitdiffstats
path: root/led.hpp
diff options
context:
space:
mode:
authorNao Pross <naopross@thearcway.org>2018-05-05 17:14:38 +0200
committerNao Pross <naopross@thearcway.org>2018-05-05 17:14:38 +0200
commit1dfe3e1f1be38824ecc0367314e2b3fef108b65f (patch)
treefdc353cd172f4903df10ddd72a4a509abfbde4fd /led.hpp
parentRename class pin to io_pin, add general gpio class, add uart echo (diff)
downloadSAMLiquidSmoke-1dfe3e1f1be38824ecc0367314e2b3fef108b65f.tar.gz
SAMLiquidSmoke-1dfe3e1f1be38824ecc0367314e2b3fef108b65f.zip
Add led class
Diffstat (limited to 'led.hpp')
-rw-r--r--led.hpp44
1 files changed, 44 insertions, 0 deletions
diff --git a/led.hpp b/led.hpp
new file mode 100644
index 0000000..30b7a7a
--- /dev/null
+++ b/led.hpp
@@ -0,0 +1,44 @@
+/*
+ * File: led.hpp
+ * Author: naopross
+ *
+ * Created on May 5, 2018, 2:33 PM
+ */
+
+#ifndef LED_HPP
+#define LED_HPP
+
+#include "hal/pin.hpp"
+
+#include <string>
+
+class led {
+public:
+ enum class color
+ {
+ RED, GREEN, YELLOW,
+ };
+
+ led(gpio *pin, color color);
+ virtual ~led();
+
+ void pin(gpio *pin);
+ gpio * pin() const ;
+
+ void get_color(color color);
+ color set_color() const;
+
+ void set(unsigned s);
+ unsigned read() const;
+ void toggle();
+
+ std::string to_string();
+
+private:
+ led() {}
+
+ gpio *_pin = nullptr;
+ color _color;
+};
+
+#endif /* LED_HPP */