123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171 |
- #ifndef ZEPHYR_INCLUDE_DISPLAY_MB_DISPLAY_H_
- #define ZEPHYR_INCLUDE_DISPLAY_MB_DISPLAY_H_
- #include <stdio.h>
- #include <zephyr/types.h>
- #include <stdbool.h>
- #include <sys/util.h>
- #include <toolchain.h>
- #ifdef __cplusplus
- extern "C" {
- #endif
- struct mb_image {
- union {
- struct {
- uint8_t c1:1,
- c2:1,
- c3:1,
- c4:1,
- c5:1;
- } r[5];
- uint8_t row[5];
- };
- };
- enum mb_display_mode {
-
- MB_DISPLAY_MODE_DEFAULT,
-
- MB_DISPLAY_MODE_SINGLE,
-
- MB_DISPLAY_MODE_SCROLL,
-
-
- MB_DISPLAY_FLAG_LOOP = BIT(16),
- };
- #define MB_IMAGE(_rows...) { .r = { _rows } }
- struct mb_display;
- struct mb_display *mb_display_get(void);
- void mb_display_image(struct mb_display *disp, uint32_t mode, int32_t duration,
- const struct mb_image *img, uint8_t img_count);
- __printf_like(4, 5) void mb_display_print(struct mb_display *disp,
- uint32_t mode, int32_t duration,
- const char *fmt, ...);
- void mb_display_stop(struct mb_display *disp);
- #ifdef __cplusplus
- }
- #endif
- #endif
|