summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/core/ao.h6
-rw-r--r--src/drivers/ao_lcd.c16
2 files changed, 22 insertions, 0 deletions
diff --git a/src/core/ao.h b/src/core/ao.h
index 3c1aa156..8bd7a3d2 100644
--- a/src/core/ao.h
+++ b/src/core/ao.h
@@ -1719,6 +1719,12 @@ ao_lcd_contrast_set(uint8_t contrast);
void
ao_lcd_clear(void);
+void
+ao_lcd_cursor_on(void);
+
+void
+ao_lcd_cursor_off(void);
+
#define AO_LCD_ADDR(row,col) ((row << 6) | (col))
void
diff --git a/src/drivers/ao_lcd.c b/src/drivers/ao_lcd.c
index 8745b3f6..8ce32233 100644
--- a/src/drivers/ao_lcd.c
+++ b/src/drivers/ao_lcd.c
@@ -74,6 +74,22 @@ ao_lcd_contrast_set(uint8_t contrast)
}
void
+ao_lcd_cursor_on(void)
+{
+ ao_mutex_get(&ao_lcd_mutex);
+ ao_lcd_send_ins(0x08 | 0x04 | 0x02 | 0x01);
+ ao_mutex_put(&ao_lcd_mutex);
+}
+
+void
+ao_lcd_cursor_off(void)
+{
+ ao_mutex_get(&ao_lcd_mutex);
+ ao_lcd_send_ins(0x08 | 0x04);
+ ao_mutex_put(&ao_lcd_mutex);
+}
+
+void
ao_lcd_clear(void)
{
ao_mutex_get(&ao_lcd_mutex);