summaryrefslogtreecommitdiffstats
path: root/src/device/screen.h
diff options
context:
space:
mode:
authorGravatar Ramūnas Mažeikis <ramunasnezinomas@gmail.com> 2019-05-27 23:12:42 +0300
committerGravatar Ramūnas Mažeikis <ramunasnezinomas@gmail.com> 2019-05-27 23:12:42 +0300
commitbf8b16d036e60eec56a42cbfcf012390c143e699 (patch)
tree147631af48a0b306162365147384f7dd9d1558b8 /src/device/screen.h
parente37b3eacefef04258a6dc6e8714da249d2ff9c1d (diff)
downloadusurpation-bf8b16d036e60eec56a42cbfcf012390c143e699.tar.gz
usurpation-bf8b16d036e60eec56a42cbfcf012390c143e699.tar.bz2
usurpation-bf8b16d036e60eec56a42cbfcf012390c143e699.zip
Screen: implementation of drawing and trivial docs.
Signed-off-by: Ramūnas Mažeikis <ramunasnezinomas@gmail.com>
Diffstat (limited to 'src/device/screen.h')
-rw-r--r--[-rwxr-xr-x]src/device/screen.h23
1 files changed, 21 insertions, 2 deletions
diff --git a/src/device/screen.h b/src/device/screen.h
index 7763bd2..54734e5 100755..100644
--- a/src/device/screen.h
+++ b/src/device/screen.h
@@ -1,9 +1,17 @@
+/**
+ * Simple API for scrolling lines. Keeps things simple by not even assuming
+ * which screen is being drawn on.
+ */
+
#ifndef DEVICE_SCREEN_H
#define DEVICE_SCREEN_H
#include <time.h>
+#include <SSD1306Brzo.h>
+#include <Wire.h>
-#define SCREEN_WIDTH (64)
+#define SCREEN_WIDTH (128)
+#define SCREEN_HEIGHT (32)
#define FONT_WIDTH (8)
#define SCREEN_MAX_CHARS (SCREEN_WIDTH / FONT_WIDTH)
@@ -11,6 +19,7 @@
* Struct that keeps track of the lines on the screen.
*/
struct display_status {
+ SSD1306Brzo *screen; /* Screen to draw on. */
time_t delta; /* Seconds/Line */
time_t last_scroll_time; /* Last second the line was scrolled */
char *message; /* Entire message to be shown */
@@ -25,6 +34,16 @@ struct display_status {
*/
void display_update_scroll(struct display_status *status);
-void display_status_init(struct display_status *status, char *msg);
+/**
+ * Initialises display_status structure so it can be used for
+ * display_update_scroll.
+ *
+ * screen - screen to draw on
+ *
+ * status - structure to Initialise
+ *
+ * msg - message to scroll on the screen
+ */
+void display_status_init(SSD1306Brzo *screen, struct display_status *status, char *msg);
#endif /* DEVICE_SCREEN_H */ \ No newline at end of file