Don't permit to use non ASCII characters.
[bertos.git] / bertos / drv / lcd_text.c
index 8e519280fa570055b25f2b6a93bbb076535bfe20..ca27f22d50d2ec81c40d20292bf2363d8997ed65 100644 (file)
  * the GNU General Public License.
  *
  * Copyright 2005 Develer S.r.l. (http://www.develer.com/)
- *
+ * All Rights Reserved.
  * -->
  *
  * \brief Generic text LCD driver (impl.).
  *
  * \version $Id$
- * \author Bernardo Innocenti <bernie@develer.com>
+ * \author Bernie Innocenti <bernie@codewiz.org>
  * \author Stefano Fedrigo <aleph@develer.com>
  */
 
-/*#*
- *#* $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.
- *#*
- *#* Revision 1.11  2005/06/14 14:43:43  bernie
- *#* Add DevLib headers.
- *#*
- *#* Revision 1.10  2005/06/06 17:41:57  batt
- *#* Add lcd_layerSet function.
- *#*
- *#* Revision 1.9  2005/06/01 16:40:07  batt
- *#* Remove debug string.
- *#*
- *#* Revision 1.8  2005/06/01 16:38:04  batt
- *#* Adapt to changes in mware/list.h.
- *#*
- *#* Revision 1.7  2005/06/01 10:45:22  batt
- *#* lcd_setAddr(): Bugfix boundary condition; Misc cleanup.
- *#*
- *#* Revision 1.6  2005/06/01 10:36:23  batt
- *#* Layer: Rename member variables and Doxygenize.
- *#*
- *#* Revision 1.5  2005/05/27 11:05:58  batt
- *#* Do not write on lcd if layer is hidden.
- *#*/
-
 #include "lcd_text.h"
 #include "lcd_hd44.h"
-#include <drv/timer.h> // timer_delay()
-#include <mware/formatwr.h> // _formatted_write()
-#include <mware/list.h> // LIST_EMPTY()
+
 #include <cfg/macros.h> // BV()
 #include <cfg/debug.h>
 
+#include <drv/timer.h> // timer_delay()
+
+#include <mware/formatwr.h> // _formatted_write()
+#include <struct/list.h> // LIST_EMPTY()
+
 #include <string.h> // strlen()
 
 
 /** Maximum number of layers. */
 #define LCD_LAYERS 6
 
-#if CONFIG_KERNEL
+#if CONFIG_KERN
+       #include <kern/sem.h>
        /** 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)
-#else /* !CONFIG_KERNEL */
+#else /* !CONFIG_KERN */
        #define LOCK_LCD        do {} while (0)
        #define UNLOCK_LCD      do {} while (0)
-#endif /* !CONFIG_KERNEL */
+#endif /* !CONFIG_KERN */
 
 DECLARE_LIST_TYPE(Layer);
 
@@ -124,7 +92,7 @@ void lcd_setAddr(Layer *layer, lcdpos_t addr)
        layer->addr = addr;
 }
 
-#if CONFIG_KERNEL
+#if CONFIG_KERN
 
 void lcd_lock(void)
 {
@@ -137,7 +105,7 @@ void lcd_unlock(void)
        UNLOCK_LCD;
 }
 
-#endif /* CONFIG_KERNEL */
+#endif /* CONFIG_KERN */
 
 
 /**
@@ -484,16 +452,4 @@ void lcd_init(void)
        lcd_setCursor(0);
 }
 
-#if CONFIG_TEST
-void lcd_test(void)
-{
-       int i;
-
-       for (i = 0; i < LCD_ROWS * LCD_COLS; ++i)
-       {
-               lcd_putCharUnlocked('0' + (i % 10), lcd_DefLayer);
-               timer_delay(100);
-       }
-}
-#endif /* CONFIG_TEST */