lcd_text.c File Reference

Generic text LCD driver (impl. More...

#include "lcd_text.h"
#include "lcd_hd44.h"
#include <cfg/macros.h>
#include <cfg/debug.h>
#include <drv/timer.h>
#include <mware/formatwr.h>
#include <struct/list.h>
#include <string.h>

Go to the source code of this file.


Defines

#define LCD_LAYERS   6
 Maximum number of layers.

Functions

static void lcd_putCharUnlocked (char c, Layer *layer)
 Write one character to the display at the current cursor prosition, then move the cursor right.
static void lcd_enqueueLayer (Layer *layer, char pri)
 Internal function to move a layer between two positions.
static void lcd_refresh (void)
 Redraw the display (internal).
void lcd_setLayerDepth (Layer *layer, char pri)
 Rearrange layer depth and refresh display accordingly.

Detailed Description

Generic text LCD driver (impl.

).

Version:
Id
lcd_text.c 2506 2009-04-15 08:29:07Z duplo
Author:
Bernie Innocenti <bernie@codewiz.org>

Stefano Fedrigo <aleph@develer.com>

Definition in file lcd_text.c.


Define Documentation

#define LCD_LAYERS   6

Maximum number of layers.

Definition at line 55 of file lcd_text.c.


Function Documentation

static void lcd_enqueueLayer ( Layer layer,
char  pri 
) [static]

Internal function to move a layer between two positions.

Note:
The layer must be *already* enqueued in some list.

The display must be already locked!

Definition at line 289 of file lcd_text.c.

static void lcd_putCharUnlocked ( char  c,
Layer layer 
) [static]

Write one character to the display at the current cursor prosition, then move the cursor right.

The cursor is wrapped to the next line when it moves beyond the end of the current line.

Note:
Does _NOT_ lock the display semaphore.

Definition at line 119 of file lcd_text.c.

static void lcd_refresh ( void   )  [static]

Redraw the display (internal).

Note:
The display must be already locked.

Definition at line 338 of file lcd_text.c.

void lcd_setLayerDepth ( Layer layer,
char  pri 
)

Rearrange layer depth and refresh display accordingly.

Note:
Setting a priority of LAYER_HIDDEN makes the layer invisible.

Definition at line 371 of file lcd_text.c.