13 #define lcdout (&_lcdout)
15 extern void lcd_init(
void);
17 extern void lcd_refresh(
void);
19 extern void lcd_refresh_noclear(
void);
21 extern void lcd_clear(
void);
23 extern void lcd_home(
void);
38 extern void lcd_set_cursor(uint8_t col, uint8_t row);
44 extern void lcd_createChar_P(uint8_t,
const uint8_t*);
48 extern int lcd_putc(
char c);
49 extern int lcd_putc_at(uint8_t c, uint8_t r,
char ch);
51 extern int lcd_puts_P(
const char* str);
52 extern int lcd_puts_at_P(uint8_t c, uint8_t r,
const char* str);
53 extern int lcd_printf_P(
const char* format, ...);
54 extern void lcd_space(uint8_t n);
56 extern void lcd_printNumber(
unsigned long n, uint8_t base);
58 extern void lcd_print(
const char*);
59 extern uint8_t lcd_print_pad(
const char* s, uint8_t len);
66 extern void lcd_print(
char,
int = 0);
67 extern void lcd_print(
unsigned char,
int = 0);
68 extern void lcd_print(
int,
int = 10);
69 extern void lcd_print(
unsigned int,
int = 10);
70 extern void lcd_print(
long,
int = 10);
71 extern void lcd_print(
unsigned long,
int = 10);
74 #define ESC_2J "\x1b[2J"
76 #define ESC_25h "\x1b[?25h"
78 #define ESC_25l "\x1b[?25l"
82 #define ESC_H(c,r) "\x1b["#r";"#c"H"
86 #define LCD_UPDATE_INTERVAL 100
87 #define LCD_TIMEOUT_TO_STATUS 30000ul
88 #define LCD_TIMEOUT_TO_STATUS_BABYSTEP_Z 90000ul
92 typedef void (*lcd_longpress_func_t)(void);
94 typedef void (*lcd_charsetup_func_t)(void);
96 typedef void (*lcd_lcdupdate_func_t)(void);
99 extern uint8_t lcd_draw_update;
101 extern int16_t lcd_encoder;
103 extern uint8_t lcd_click_trigger;
105 extern uint8_t lcd_update_enabled;
109 extern uint32_t lcd_next_update_millis;
111 extern lcd_longpress_func_t lcd_longpress_func;
112 extern bool lcd_longpress_trigger;
114 extern lcd_lcdupdate_func_t lcd_lcdupdate_func;
120 extern void lcd_beeper_quick_feedback(
void);
123 extern void lcd_quick_feedback(
void);
129 extern void lcd_update(uint8_t lcdDrawUpdateOverride);
131 extern void lcd_update_enable(uint8_t enabled);
133 extern void lcd_buttons_update(
void);
147 lcd_update_enable(
false);
151 lcd_update_enable(m_updateEnabled);
155 bool m_updateEnabled;
169 #define LCD_CLICKED (lcd_click_trigger)
174 #define LCD_STR_ARROW_RIGHT "\x7E"
175 #define LCD_STR_ARROW_LEFT "\x7F"
176 #define LCD_STR_BEDTEMP "\x80"
177 #define LCD_STR_DEGREE "\x81"
178 #define LCD_STR_THERMOMETER "\x82"
179 #define LCD_STR_UPLEVEL "\x83"
180 #define LCD_STR_REFRESH "\x84"
181 #define LCD_STR_FOLDER "\x85"
182 #define LCD_STR_FEEDRATE "\x86"
183 #define LCD_STR_CLOCK "\x87"
184 #define LCD_STR_ARROW_2_DOWN "\x88"
185 #define LCD_STR_CONFIRM "\x89"
186 #define LCD_STR_SOLID_BLOCK "\xFF"
188 extern void lcd_frame_start();
193 lcd_click_trigger = 0;
194 lcd_longpress_trigger = 0;
Helper class to temporarily disable LCD updates.
Definition: lcd.h:143
uint8_t lcd_print_pad_P(const char *s, uint8_t len)
print a string from PROGMEM with left-adjusted padding
Definition: lcd.cpp:636
uint8_t lcd_clicked(void)
Was button clicked?
Definition: lcd.cpp:739
void lcd_set_cursor_column(uint8_t col)
Change the cursor column position while preserving the current row position.
Definition: lcd.cpp:381
void lcd_consume_click()
Consume click and longpress event.
Definition: lcd.h:191
void lcd_knob_update()
Check whether knob is rotated or clicked and update relevant variables. Flags are set by lcd_buttons_...
Definition: lcd.cpp:759