BeRTOS
Defines | Functions
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.).

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 54 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 288 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 118 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 337 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 370 of file lcd_text.c.