1 /*
2  * Copyright (c) 2018 Henrik Brix Andersen <henrik@brixandersen.dk>
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 
7 #include <zephyr/kernel.h>
8 #include <zephyr/device.h>
9 #include <zephyr/display/cfb.h>
10 #include <zephyr/sys/printk.h>
11 
12 #include "cfb_font_dice.h"
13 
main(void)14 int main(void)
15 {
16 	const struct device *const display = DEVICE_DT_GET(DT_CHOSEN(zephyr_display));
17 	int err;
18 
19 	if (!device_is_ready(display)) {
20 		printk("Display device not ready\n");
21 	}
22 
23 	if (display_set_pixel_format(display, PIXEL_FORMAT_MONO10) != 0) {
24 		if (display_set_pixel_format(display, PIXEL_FORMAT_MONO01) != 0) {
25 			printk("Failed to set required pixel format");
26 			return 0;
27 		}
28 	}
29 
30 	err = display_blanking_off(display);
31 	if (err == -ENOSYS) {
32 		printk("Display blanking off not available");
33 	} else if (err) {
34 		printk("Failed to turn off display blanking\n");
35 		return 0;
36 	}
37 
38 	err = cfb_framebuffer_init(display);
39 	if (err) {
40 		printk("Could not initialize framebuffer (err %d)\n", err);
41 	}
42 
43 	err = cfb_framebuffer_clear(display, true);
44 	if (err) {
45 		printk("Could not clear framebuffer (err %d)\n", err);
46 	}
47 
48 	err = cfb_print(display, "123456", 0, 0);
49 	if (err) {
50 		printk("Could not display custom font (err %d)\n", err);
51 	}
52 
53 	err = cfb_framebuffer_finalize(display);
54 	if (err) {
55 		printk("Could not finalize framebuffer (err %d)\n", err);
56 	}
57 	return 0;
58 }
59