summaryrefslogtreecommitdiff
path: root/arduino/rgb/test.in
diff options
context:
space:
mode:
Diffstat (limited to 'arduino/rgb/test.in')
-rw-r--r--arduino/rgb/test.in103
1 files changed, 103 insertions, 0 deletions
diff --git a/arduino/rgb/test.in b/arduino/rgb/test.in
new file mode 100644
index 0000000..dd28395
--- /dev/null
+++ b/arduino/rgb/test.in
@@ -0,0 +1,103 @@
+#include <SPI.h>
+#include <Adafruit_GFX.h>
+#include <Adafruit_SSD1306.h>
+
+const int PRED = 2;
+const int PGREEN = 4;
+const int PBLUE = 3;
+
+#define OLED_RESET 4
+
+#define WIDTH 128
+#define HEIGHT 64
+
+Adafruit_SSD1306 display(OLED_RESET);
+
+/* storage */
+int red;
+int green;
+int blue;
+
+class menuitem
+{
+ public:
+ String name;
+ String desc;
+};
+
+menuitem items[6];
+
+void setup()
+{
+ Serial.begin(9600);
+ pinMode(PRED, OUTPUT);
+ pinMode(PGREEN, OUTPUT);
+ pinMode(PBLUE, OUTPUT);
+
+ /* set all values to 0 */
+ red = 0;
+ green = 0;
+ blue = 0;
+// setupmenu();
+ //display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
+ display.clearDisplay();
+}
+
+void loop()
+{
+ rgb();
+ display.clearDisplay();
+ //menu();
+ oledwrite(0,0,3,"testtt");
+ display.display();
+
+}
+
+void setupmenu()
+{
+ for (int x = 0; x < sizeof(items); x++)
+ {
+ items[x] = menuitem();
+ }
+ items[0].name = "test 1";
+ items[0].desc = "first test";
+}
+
+void menu()
+{
+ oledwrite(0, 0, 2, items[0].name);
+ oledwrite(60, 0, 2, items[0].desc);
+}
+
+void oledwrite(int x, int y, int size, String text)
+{
+ display.setTextSize(size);
+ display.setTextColor(WHITE);
+ display.setCursor(x, y);
+ display.println(text);
+}
+
+void oledpixel(int x, int y)
+{
+ display.drawPixel(x, y, 1);
+}
+
+void oledline(int x1, int y1, int x2, int y2)
+{
+ display.drawLine(x1, y1, x2, y2, WHITE);
+}
+
+void rgb()
+{
+ /* read serial data */
+ while (Serial.available() > 1)
+ {
+ red = Serial.parseInt();
+ green = Serial.parseInt();
+ blue = Serial.parseInt();
+ analogWrite(PRED, red);
+ analogWrite(PGREEN, green);
+ analogWrite(PBLUE, blue);
+ }
+
+}