Documentation
[liquid-crystal-terminal.git] / terminal / lcd.ino
1 #include "lcd.h"
2
3 struct backlight backlight;
4
5 void lcd_setup(void)
6 {
7 lcd.createChar(0, char_music);
8 lcd.createChar(1, char_smile);
9
10 lcd.begin(COLS, ROWS);
11 lcd.blink();
12
13 pinMode(LCD_BL, OUTPUT);
14 }
15
16 void bl_tasks(void)
17 {
18 if (backlight.state == BL_FLASH)
19 if (!--backlight.timer)
20 backlight.state = BL_OFF;
21
22 switch (backlight.state) {
23 case BL_OFF:
24 digitalWrite(LCD_BL, 0);
25 break;
26 case BL_FLASH:
27 case BL_ON:
28 digitalWrite(LCD_BL, 1);
29 break;
30 }
31 }
32
33 void bl_set(enum backlight_state state)
34 {
35 backlight.state = state;
36 if (state == BL_FLASH)
37 backlight.timer = (unsigned int) -1;
38 }