blob: 7763bd2ad6710fff7c7c871e73a7dfcedffa3ab0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
#ifndef DEVICE_SCREEN_H
#define DEVICE_SCREEN_H
#include <time.h>
#define SCREEN_WIDTH (64)
#define FONT_WIDTH (8)
#define SCREEN_MAX_CHARS (SCREEN_WIDTH / FONT_WIDTH)
/**
* Struct that keeps track of the lines on the screen.
*/
struct display_status {
time_t delta; /* Seconds/Line */
time_t last_scroll_time; /* Last second the line was scrolled */
char *message; /* Entire message to be shown */
char *first_line; /* First line on display */
char *second_line; /* Second line on display */
size_t message_len; /* Length of the message */
size_t line_cursor; /* Index of the first line being displayed. */
};
/**
* Displays scrolling text on the screen.
*/
void display_update_scroll(struct display_status *status);
void display_status_init(struct display_status *status, char *msg);
#endif /* DEVICE_SCREEN_H */
|