X-Git-Url: https://codewiz.org/gitweb?a=blobdiff_plain;f=drv%2Flcd_text.c;h=8e519280fa570055b25f2b6a93bbb076535bfe20;hb=2535cb94ec2183791128f8bbd109ca69a960cf78;hp=284c8b020d8ff5628971a3cae9615ed2f4002980;hpb=0c2f7108e2f9b6fa567bc83dda9a313fffceb286;p=bertos.git diff --git a/drv/lcd_text.c b/drv/lcd_text.c old mode 100755 new mode 100644 index 284c8b02..8e519280 --- a/drv/lcd_text.c +++ b/drv/lcd_text.c @@ -1,8 +1,33 @@ -/*! +/** * \file * * * \brief Generic text LCD driver (impl.). @@ -14,6 +39,15 @@ /*#* *#* $Log$ + *#* Revision 1.4 2006/09/20 20:02:43 marco + *#* Replaced ISLISTEMPTY with LIST_EMPTY + *#* + *#* Revision 1.3 2006/07/19 12:56:25 bernie + *#* Convert to new Doxygen style. + *#* + *#* Revision 1.2 2006/02/24 00:27:14 bernie + *#* Use new naming convention for list macros. + *#* *#* Revision 1.1 2005/11/04 18:00:42 bernie *#* Import into DevLib. *#* @@ -43,17 +77,18 @@ #include "lcd_hd44.h" #include // timer_delay() #include // _formatted_write() +#include // LIST_EMPTY() #include // BV() #include #include // strlen() -/*! Maximum number of layers. */ +/** Maximum number of layers. */ #define LCD_LAYERS 6 #if CONFIG_KERNEL - /*! Semaphore to arbitrate access to the display. */ + /** Semaphore to arbitrate access to the display. */ static struct Semaphore lcd_semaphore; #define LOCK_LCD sem_obtain(&lcd_semaphore) #define UNLOCK_LCD sem_release(&lcd_semaphore) @@ -69,14 +104,14 @@ static Layer lcd_LayersPool[LCD_LAYERS]; static LIST_TYPE(Layer) lcd_Layers; static LIST_TYPE(Layer) lcd_FreeLayers; -/*! +/** * Current cursor status. * * One of LCD_CMD_CURSOR_OFF, LCD_CMD_CURSOR_BLOCK or LCD_CMD_CURSOR_LINE. */ static uint8_t lcd_CursorStatus; -/*! Current cursor position, encoded as a Cursor position and status. */ +/** Current cursor position, encoded as a Cursor position and status. */ static lcdpos_t lcd_CursorAddr; @@ -105,7 +140,7 @@ void lcd_unlock(void) #endif /* CONFIG_KERNEL */ -/*! +/** * 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 @@ -277,8 +312,8 @@ int lcd_printf(Layer *layer, lcdpos_t addr, uint8_t mode, const char *format, .. } -/*! - * Internal function to move a layer betweet two positions. +/** + * Internal function to move a layer between two positions. * * \note The layer must be *already* enqueued in some list. * \note The display must be already locked! @@ -296,12 +331,12 @@ static void lcd_enqueueLayer(Layer *layer, char pri) * Search for the first layer whose priority * is less or equal to the layer we are adding. */ - FOREACHNODE(l2, &lcd_Layers) + FOREACH_NODE(l2, &lcd_Layers) if (l2->pri <= pri) break; /* Enqueue layer */ - INSERTBEFORE(layer, l2); + INSERT_BEFORE(layer, l2); } Layer *lcd_newLayer(char pri) @@ -310,7 +345,7 @@ Layer *lcd_newLayer(char pri) LOCK_LCD; - if (ISLISTEMPTY(&lcd_FreeLayers)) + if (LIST_EMPTY(&lcd_FreeLayers)) { UNLOCK_LCD; //ASSERT(false); @@ -327,7 +362,7 @@ Layer *lcd_newLayer(char pri) return layer; } -/*! +/** * Redraw the display (internal). * * \note The display must be already locked. @@ -339,7 +374,7 @@ static void lcd_refresh(void) for (addr = 0; addr < LCD_ROWS * LCD_COLS; ++addr) { - FOREACHNODE(l, &lcd_Layers) + FOREACH_NODE(l, &lcd_Layers) { //kprintf("%d %x %p\n", addr, l->buf[0], l); if (l->pri == LAYER_HIDDEN) @@ -360,7 +395,7 @@ static void lcd_refresh(void) } } -/*! +/** * Rearrange layer depth and refresh display accordingly. * * \note Setting a priority of LAYER_HIDDEN makes the layer invisible.