BeRTOS
Defines | Functions | Variables
lcd_hd44.c File Reference

LM044L type LCD hardware module (impl.) More...

#include "lcd_hd44.h"
#include "hw/hw_lcd_hd44.h"
#include "cfg/cfg_arch.h"
#include <drv/timer.h>
#include <cfg/debug.h>

Go to the source code of this file.

Defines

#define LCDF_BUSY   BV(7)
 Flag di stato del display.

Functions

static uint8_t lcd_address (uint8_t addr)
 Addresses of LCD display character positions, calculated runtime to save RAM.
void lcd_waitBusy (void)
 Wait until the LCD busy flag clears.
void lcd_moveTo (uint8_t addr)
 Move the cursor to addr, only if not already there.
void lcd_setReg (uint8_t val)
 Write a value in LCD data register, waiting for the busy flag.
void lcd_putc (uint8_t addr, uint8_t c)
 Write the character c on display address addr.
void lcd_remapChar (const char *glyph, char code)
 Remap the glyph of a character.

Variables

static lcdpos_t lcd_current_addr
 Current display position.

Detailed Description

LM044L type LCD hardware module (impl.)

Author:
Bernie Innocenti <bernie@codewiz.org>
Stefano Fedrigo <aleph@develer.com>

Definition in file lcd_hd44.c.


Function Documentation

void lcd_putc ( uint8_t  addr,
uint8_t  c 
)

Write the character c on display address addr.

NOTE: argh, the HD44 lcd type is a bad beast: our move/write -> write optimization requires this mess because display lines are interleaved!

Definition at line 338 of file lcd_hd44.c.

void lcd_remapChar ( const char *  glyph,
char  code 
)

Remap the glyph of a character.

glyph - bitmap of 8x8 bits. code - must be 0-7 for the Hitachi LCD-II controller.

Definition at line 363 of file lcd_hd44.c.


Variable Documentation

Current display position.

We remember this to optimize LCD output by avoiding to set the address every time.

Definition at line 134 of file lcd_hd44.c.