summaryrefslogtreecommitdiffstats
path: root/src/device
diff options
context:
space:
mode:
Diffstat (limited to 'src/device')
-rw-r--r--src/device/main.ino28
1 files changed, 27 insertions, 1 deletions
diff --git a/src/device/main.ino b/src/device/main.ino
index d4fec2c..b4a852c 100644
--- a/src/device/main.ino
+++ b/src/device/main.ino
@@ -23,6 +23,7 @@
#include <WiFiUdp.h>
#include <stdlib.h>
#include <stddef.h>
+#include "SSD1306Spi.h"
static char udppacketbuffer[32] = {0};
static char *udppacketcursor = NULL;
@@ -33,6 +34,7 @@ static const char clientmagic[] = "I love tea!";
static const int com_port = 6996;
IPAddress ip;
WiFiUDP Udp;
+SSD1306Brzo diplay(0x3c, 4, 5);
unsigned int toggle_led(const int ip);
static void discover_client(void);
@@ -42,6 +44,7 @@ static void udp_init_packet(IPAddress ip, const int port);
static void udp_push(const void * const data, const size_t size);
static int udp_flush(void);
static void blink_led(const int pin, const int ontime, const int offtime);
+static void init_OLED(void);
void setup(void)
{
@@ -52,6 +55,11 @@ void setup(void)
wifi_connect(ssid, password, 1, internal_led);
Udp.begin(com_port);
discover_client(com_port);
+ display.fillCircle(32, 16, 12);
+ wifi_connect("ssid", "password", 1, internal_led);
+ display.fillCircle(64, 16, 12);
+ discover_client();
+ display.fillCircle(92, 16, 12);
}
/* the logic is a placeholder right now */
@@ -59,11 +67,29 @@ void loop(void)
{
/* sleep length to use */
static unsigned int delta = 2000;
-
+ static int dot_idx = 0;
delay(delta);
udp_init_packet(ip, com_port);
udp_push(clientmagic, sizeof(clientmagic));
udp_flush();
+
+ if (dot_idx >= 2) {
+ display.clear();
+ dot_idx = 0;
+ }
+ display.fillCircle(32 * (dot_idx + 1), 16, 12);
+ dot_idx++;
+}
+
+static void init_OLED(void)
+{
+ display.init();
+
+ /* Won't be useful until later on. */
+ /*
+ display.setTextAlignment(TEXT_ALIGN_LEFT);
+ display.setFont(DejaVu_Sans_28);
+ */
}
/* toggle the bult-in led and return current state */