aboutsummaryrefslogtreecommitdiff
path: root/kernel/lcd3.c
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2012-03-16 13:37:27 +0000
committerDimitri Sokolyuk <demon@dim13.org>2012-03-16 13:37:27 +0000
commit0a6666c2f63e747c6eeae820152a69fff0e72ee9 (patch)
tree463ed5877308f1d4866976d637973244bbb0c977 /kernel/lcd3.c
parent120675e595fe1661fbe657bd22cb9cfbfeb0e558 (diff)
switch to dynamic memory allocation
Diffstat (limited to 'kernel/lcd3.c')
-rw-r--r--kernel/lcd3.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/kernel/lcd3.c b/kernel/lcd3.c
index 6bbb847..f8b3988 100644
--- a/kernel/lcd3.c
+++ b/kernel/lcd3.c
@@ -25,8 +25,6 @@
#include "kernel.h"
#include "tasks.h"
-FILE lcd_stream = FDEV_SETUP_STREAM(lcd_putchar, NULL, _FDEV_SETUP_WRITE);
-
#define CLEAR_DISPLAY _BV(0)
#define RETURN_HOME _BV(1)
@@ -88,6 +86,8 @@ write_byte(uint8_t byte, uint8_t rs)
void
lcd_init(void)
{
+ FILE *lcd_stream;
+
PORTDIR |= (_BV(DATA) | _BV(CLOCK) | _BV(E));
/* task init: wait >40ms */
@@ -108,7 +108,8 @@ lcd_init(void)
home();
- stderr = &lcd_stream;
+ lcd_stream = fdevopen(lcd_putchar, NULL);
+ stderr = lcd_stream;
}
int