Arduino RGB-Tools
RGBTools.h
1 /*
2 * RGBTools
3 * Version 1.4 April, 2015
4 * Copyright 2015 Johannes Mittendorfer
5 *
6 * Use this code with RGB-LEDs.
7 */
8 
9 #ifndef RGBTools_H
10 #define RGBTools_H
11 
12 #ifdef DEBUGGING
13  #define analogWrite(pin,val) (printf("set %d to %d\n", pin, val))
14  #define delay(val) (printf("delay %lu\n", val))
15  #include <stdio.h>
16  #include <stdint.h>
17 #else
18  #include <Arduino.h>
19 #endif
20 
21 
22 enum Mode { COMMON_ANODE, COMMON_CATHODE };
23 
24 class RGBTools
25 {
26  public:
27  RGBTools(uint8_t r, uint8_t g, uint8_t b);
28  RGBTools(uint8_t r, uint8_t g, uint8_t b, Mode mode);
29  void setColor(uint8_t r, uint8_t g, uint8_t b);
30  void setColor(uint32_t);
31  void fadeTo(uint8_t r, uint8_t g, uint8_t b, int steps, int duration);
32 
33  private:
34  // pins for colors
35  uint8_t r_pin, g_pin, b_pin;
36 
37  // saves current state (color)
38  uint8_t curr_r, curr_g, curr_b;
39 
40  // output mode for common cathode or anode RGB LEDs
41  uint8_t mode;
42 
43 };
44 
45 #endif
Use this code with RGB-LEDs.
Definition: RGBTools.h:24
void fadeTo(uint8_t r, uint8_t g, uint8_t b, int steps, int duration)
Definition: RGBTools.cpp:87
void setColor(uint8_t r, uint8_t g, uint8_t b)
Definition: RGBTools.cpp:48
RGBTools(uint8_t r, uint8_t g, uint8_t b)
Definition: RGBTools.cpp:18