aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorinmarket <andrewh@inmarket.com.au>2013-06-02 18:58:12 +1000
committerinmarket <andrewh@inmarket.com.au>2013-06-02 18:58:12 +1000
commite9f60dae385f1c7b58d1ae26a00d051da40f65d3 (patch)
tree83b8ffad4895aedaaab1738c347711d27a3feedc
parent1c258a82738e145953fc9cf40c68dcce6db87d92 (diff)
downloaduGFX-e9f60dae385f1c7b58d1ae26a00d051da40f65d3.tar.gz
uGFX-e9f60dae385f1c7b58d1ae26a00d051da40f65d3.tar.bz2
uGFX-e9f60dae385f1c7b58d1ae26a00d051da40f65d3.zip
Fix license issues and GOS issues in TDISP
-rw-r--r--drivers/tdisp/HD44780/tdisp_lld.c45
-rw-r--r--drivers/tdisp/HD44780/tdisp_lld_board_example.h23
-rw-r--r--drivers/tdisp/HD44780/tdisp_lld_board_olimex_e407.h27
-rw-r--r--drivers/tdisp/HD44780/tdisp_lld_board_st_stm32f4_discovery.h27
-rw-r--r--include/tdisp/lld/tdisp_lld.h23
-rw-r--r--include/tdisp/options.h23
-rw-r--r--include/tdisp/tdisp.h70
-rw-r--r--src/tdisp/tdisp.c45
8 files changed, 85 insertions, 198 deletions
diff --git a/drivers/tdisp/HD44780/tdisp_lld.c b/drivers/tdisp/HD44780/tdisp_lld.c
index 31169703..988f35c7 100644
--- a/drivers/tdisp/HD44780/tdisp_lld.c
+++ b/drivers/tdisp/HD44780/tdisp_lld.c
@@ -1,22 +1,9 @@
/*
- ChibiOS/GFX - Copyright (C) 2012, 2013
- Joel Bodenmann aka Tectu <joel@unormal.org>
-
- This file is part of ChibiOS/GFX.
-
- ChibiOS/GFX is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/GFX is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
+ * This file is subject to the terms of the GFX License, v1.0. If a copy of
+ * the license was not distributed with this file, you can obtain one at:
+ *
+ * http://chibios-gfx.com/license.html
+ */
/**
* @file drivers/tdisp/HD44780/tdisp_lld.c
@@ -26,11 +13,9 @@
* @{
*/
-#include "ch.h"
-#include "hal.h"
#include "gfx.h"
-#if GFX_USE_TDISP || defined(__DOXYGEN__)
+#if GFX_USE_TDISP /*|| defined(__DOXYGEN__)*/
/* check first if the user has defined his/her own lowlevel-board file */
#if defined(TDISP_USE_CUSTOM_BOARD) && TDISP_USE_CUSTOM_BOARD
@@ -82,7 +67,7 @@ bool_t tdisp_lld_init(void) {
*/
/* Give the LCD a little time to wake up */
- chThdSleepMilliseconds(15);
+ gfxSleepMilliseconds(15);
/* clear the RS-line to the display */
palClearPad(PORT_CTRL, PIN_RS);
@@ -91,16 +76,16 @@ bool_t tdisp_lld_init(void) {
* with RS = low.
*/
writeToLCD(0x03); // 1x
- chThdSleepMilliseconds(20);
+ gfxSleepMilliseconds(20);
writeToLCD(0x03); // 2x
-// chThdSleepMilliseconds(20);
+// gfxSleepMilliseconds(20);
writeToLCD(0x03); // 3x
-// chThdSleepMilliseconds(20);
+// gfxSleepMilliseconds(20);
/* Put display in 4-bit mode by
* write 0x02 to display.
*/
writeToLCD(0x02); // 4bit-modus
-// chThdSleepMilliseconds(20);
+// gfxSleepMilliseconds(20);
// #else
/* write three times 0x30 to display (8-bit mode only)
* with RS = low.
@@ -118,14 +103,14 @@ bool_t tdisp_lld_init(void) {
/* 4-bit modus, 2 lines en 5x7 characters */
write_cmd(0x28);
-// chThdSleepMilliseconds(20);
+// gfxSleepMilliseconds(20);
/* set display on, cursor off and no blinking */
write_cmd(0x0C);
-// chThdSleepMilliseconds(20);
+// gfxSleepMilliseconds(20);
/* set cursor increase and direction */
write_cmd(0x06);
-// chThdSleepMilliseconds(20);
+// gfxSleepMilliseconds(20);
displaycontrol = TDISP_DISPLAY_ON;
cursorcontrol = TDISP_CURSOR_INC;
@@ -252,7 +237,7 @@ void tdisp_lld_scroll(uint16_t direction, uint16_t amount, uint16_t delay) {
for(i = 0; i < amount; i++) {
write_cmd(0x10 | scrollcontrol);
- chThdSleepMilliseconds(delay);
+ gfxSleepMilliseconds(delay);
}
}
diff --git a/drivers/tdisp/HD44780/tdisp_lld_board_example.h b/drivers/tdisp/HD44780/tdisp_lld_board_example.h
index fbf3f172..f37bf2cb 100644
--- a/drivers/tdisp/HD44780/tdisp_lld_board_example.h
+++ b/drivers/tdisp/HD44780/tdisp_lld_board_example.h
@@ -1,22 +1,9 @@
/*
- ChibiOS/GFX - Copyright (C) 2012, 2013
- Joel Bodenmann aka Tectu <joel@unormal.org>
-
- This file is part of ChibiOS/GFX.
-
- ChibiOS/GFX is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/GFX is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
+ * This file is subject to the terms of the GFX License, v1.0. If a copy of
+ * the license was not distributed with this file, you can obtain one at:
+ *
+ * http://chibios-gfx.com/license.html
+ */
/**
* @file drivers/tdisp/HD44780/tdisp_lld_board_example.h
diff --git a/drivers/tdisp/HD44780/tdisp_lld_board_olimex_e407.h b/drivers/tdisp/HD44780/tdisp_lld_board_olimex_e407.h
index e8b1752d..7b1789cf 100644
--- a/drivers/tdisp/HD44780/tdisp_lld_board_olimex_e407.h
+++ b/drivers/tdisp/HD44780/tdisp_lld_board_olimex_e407.h
@@ -1,22 +1,9 @@
/*
- ChibiOS/GFX - Copyright (C) 2012, 2013
- Joel Bodenmann aka Tectu <joel@unormal.org>
-
- This file is part of ChibiOS/GFX.
-
- ChibiOS/GFX is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/GFX is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
+ * This file is subject to the terms of the GFX License, v1.0. If a copy of
+ * the license was not distributed with this file, you can obtain one at:
+ *
+ * http://chibios-gfx.com/license.html
+ */
/**
* @file drivers/tdisp/HD44780/tdisp_lld_board_olimex_e407.h
@@ -46,9 +33,9 @@ static void init_board(void) {
static void writeToLCD(uint8_t data) {
palWritePort(PORT_DATA, data);
palSetPad(PORT_CTRL, PIN_EN);
- chThdSleepMicroseconds(1);
+ gfxSleepMicroseconds(1);
palClearPad(PORT_CTRL, PIN_EN);
- chThdSleepMicroseconds(5);
+ gfxSleepMicroseconds(5);
}
static void write_cmd(uint8_t data) {
diff --git a/drivers/tdisp/HD44780/tdisp_lld_board_st_stm32f4_discovery.h b/drivers/tdisp/HD44780/tdisp_lld_board_st_stm32f4_discovery.h
index 1fe222dc..4b7dfacb 100644
--- a/drivers/tdisp/HD44780/tdisp_lld_board_st_stm32f4_discovery.h
+++ b/drivers/tdisp/HD44780/tdisp_lld_board_st_stm32f4_discovery.h
@@ -1,22 +1,9 @@
/*
- ChibiOS/GFX - Copyright (C) 2012, 2013
- Joel Bodenmann aka Tectu <joel@unormal.org>
-
- This file is part of ChibiOS/GFX.
-
- ChibiOS/GFX is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/GFX is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
+ * This file is subject to the terms of the GFX License, v1.0. If a copy of
+ * the license was not distributed with this file, you can obtain one at:
+ *
+ * http://chibios-gfx.com/license.html
+ */
/**
* @file drivers/tdisp/HD44780/tdisp_lld_board_st_stm32f4_discovery.h
@@ -82,10 +69,10 @@ static void init_board(void) {
static void writeToLCD(uint8_t data) {
palWritePort(PORT_DATA, data<<hardware_offset);
palSetPad(PORT_CTRL, PIN_EN);
- chThdSleepMicroseconds(1);
+ gfxSleepMicroseconds(1);
palClearPad(PORT_CTRL, PIN_EN);
/* wait a little while so that de display can process the data */
- chThdSleepMicroseconds(5);
+ gfxSleepMicroseconds(5);
}
/* Writes a command to the display. The
diff --git a/include/tdisp/lld/tdisp_lld.h b/include/tdisp/lld/tdisp_lld.h
index 4c89822e..a71ef76f 100644
--- a/include/tdisp/lld/tdisp_lld.h
+++ b/include/tdisp/lld/tdisp_lld.h
@@ -1,22 +1,9 @@
/*
- ChibiOS/GFX - Copyright (C) 2012, 2013
- Joel Bodenmann aka Tectu <joel@unormal.org>
-
- This file is part of ChibiOS/GFX.
-
- ChibiOS/GFX is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/GFX is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
+ * This file is subject to the terms of the GFX License, v1.0. If a copy of
+ * the license was not distributed with this file, you can obtain one at:
+ *
+ * http://chibios-gfx.com/license.html
+ */
/**
* @file include/tdisp/lld/tdisp_lld.h
diff --git a/include/tdisp/options.h b/include/tdisp/options.h
index 6918282e..3ebf686d 100644
--- a/include/tdisp/options.h
+++ b/include/tdisp/options.h
@@ -1,22 +1,9 @@
/*
- ChibiOS/GFX - Copyright (C) 2012, 2013
- Joel Bodenmann aka Tectu <joel@unormal.org>
-
- This file is part of ChibiOS/GFX.
-
- ChibiOS/GFX is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/GFX is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
+ * This file is subject to the terms of the GFX License, v1.0. If a copy of
+ * the license was not distributed with this file, you can obtain one at:
+ *
+ * http://chibios-gfx.com/license.html
+ */
/**
* @file include/tdisp/options.h
diff --git a/include/tdisp/tdisp.h b/include/tdisp/tdisp.h
index e0b485d5..4e2dfd92 100644
--- a/include/tdisp/tdisp.h
+++ b/include/tdisp/tdisp.h
@@ -1,31 +1,18 @@
/*
- ChibiOS/GFX - Copyright (C) 2012, 2013
- Joel Bodenmann aka Tectu <joel@unormal.org>
-
- This file is part of ChibiOS/GFX.
-
- ChibiOS/GFX is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/GFX is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
+ * This file is subject to the terms of the GFX License, v1.0. If a copy of
+ * the license was not distributed with this file, you can obtain one at:
+ *
+ * http://chibios-gfx.com/license.html
+ */
/**
- * @file include/tdisp/tdisp.h
- * @brief TDISP Graphic Driver subsystem header file.
+ * @file include/tdisp/tdisp.h
+ * @brief TDISP Graphic Driver subsystem header file.
*
- * @addtogroup TDISP
+ * @addtogroup TDISP
*
* @details The TDISP module provides high level abstraction to interface pixel oriented graphic displays.
- * Due the TDISP module is completely encapsulated from the other modules, it's very fast and lightweight.
+ * Due the TDISP module is completely encapsulated from the other modules, it's very fast and lightweight.
*
* @pre GFX_USE_TDISP must be set to TRUE in gfxconf.h
*
@@ -38,10 +25,9 @@
#include "gfx.h"
#if GFX_USE_TDISP || defined(__DOXYGEN__)
-#include <sys/types.h>
/**
- * @brief TDISP cursor shape definitions
+ * @brief TDISP cursor shape definitions
*/
typedef enum cursorshape_e {
cursorOff,
@@ -124,7 +110,7 @@ typedef struct tdispStruct_t {
} tdispStruct;
/**
- * @brief The TDISP structure
+ * @brief The TDISP structure
*/
extern tdispStruct TDISP;
@@ -133,11 +119,11 @@ extern "C" {
#endif
/**
- * @brief TDISP driver initialisation
- * @note This function is not implicitly invoked by @p halInit().
+ * @brief TDISP driver initialisation
+ * @note This function is not implicitly invoked by @p halInit().
* It must be called manually.
*
- * @return TRUE if success, FALSE otherwise
+ * @return TRUE if success, FALSE otherwise
*
* @init
*/
@@ -151,12 +137,12 @@ bool_t tdispInit(void);
void tdispClear(void);
/**
- * @brief Sets the cursor to it's home position ( 0, 0 )
+ * @brief Sets the cursor to it's home position ( 0, 0 )
*/
void tdispHome(void);
/**
- * @brief Set cursor to a specified position
+ * @brief Set cursor to a specified position
*
* @param[in] col The column (x)
* @param[in] row The row (y)
@@ -164,36 +150,36 @@ void tdispHome(void);
void tdispSetCursor(coord_t col, coord_t row);
/**
- * @brief Store a custom character into the display
+ * @brief Store a custom character into the display
*
- * @note This usually must be done after each power-up since most
+ * @note This usually must be done after each power-up since most
* LCDs lose their RAM content.
*
- * @param[in] address On which address to store the character from 0 up to (@p tdispGetNumCustomChars() - 1)
- * @param[in] charmap The character to be stored.
+ * @param[in] address On which address to store the character from 0 up to (@p tdispGetNumCustomChars() - 1)
+ * @param[in] charmap The character to be stored.
*
- * @note The charmap is made up of @p tdispGetCharBitHieght() data values. Each data value is
- * made up of @p tdispGetCharBitWidth() bits of data. Note that bits in multiple rows are not
- * packed.
+ * @note The charmap is made up of @p tdispGetCharBitHieght() data values. Each data value is
+ * made up of @p tdispGetCharBitWidth() bits of data. Note that bits in multiple rows are not
+ * packed.
*/
void tdispCreateChar(uint8_t address, uint8_t *charmap);
/**
- * @brief Draws a single character at the current cursor position and advances the cursor
+ * @brief Draws a single character at the current cursor position and advances the cursor
*
* @param[in] c The character to be drawn
*
- * @note Writing past the end of a row leaves the cursor in an undefined position.
+ * @note Writing past the end of a row leaves the cursor in an undefined position.
*/
void tdispDrawChar(char c);
/**
- * @brief Draws a string at the current cursor position and advances the cursor
+ * @brief Draws a string at the current cursor position and advances the cursor
*
* @param[in] s The string to be drawn
*
- * @note Any characters written past the end of a row may or may not be displayed on
- * the next row. The cursor is also left in an undefined position.
+ * @note Any characters written past the end of a row may or may not be displayed on
+ * the next row. The cursor is also left in an undefined position.
*/
void tdispDrawString(char *s);
diff --git a/src/tdisp/tdisp.c b/src/tdisp/tdisp.c
index d51bfd94..17451deb 100644
--- a/src/tdisp/tdisp.c
+++ b/src/tdisp/tdisp.c
@@ -1,22 +1,9 @@
/*
- ChibiOS/GFX - Copyright (C) 2012, 2013
- Joel Bodenmann aka Tectu <joel@unormal.org>
-
- This file is part of ChibiOS/GFX.
-
- ChibiOS/GFX is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3 of the License, or
- (at your option) any later version.
-
- ChibiOS/GFX is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-*/
+ * This file is subject to the terms of the GFX License, v1.0. If a copy of
+ * the license was not distributed with this file, you can obtain one at:
+ *
+ * http://chibios-gfx.com/license.html
+ */
/**
* @file src/tdisp/tdisp.c
@@ -25,29 +12,23 @@
* @addtogroup TDISP
* @{
*/
-#include "ch.h"
-#include "hal.h"
#include "gfx.h"
#if GFX_USE_TDISP || defined(__DOXYGEN__)
-#include "../../include/tdisp/lld/tdisp_lld.h"
+#include "tdisp/lld/tdisp_lld.h"
/* cursor controllers */
-#define CURSOR 1
-#define ON 0
-#define OFF
+#define TDISP_CURSOR 1
+#define TDISP_CURSOR_ON 0
+#define TDISP_CURSOR_OFF
#if TDISP_NEED_MULTITHREAD
- #if !CH_USE_MUTEXES
- #error "TDISP: CH_USE_MUTEXES must be defined in chconf.h because TDISP_NEED_MULTITHREAD is defined"
- #endif
-
- static Mutex tdispMutex;
+ static gfxMutex tdispMutex;
- #define MUTEX_INIT() chMtxInit(&tdispMutex)
- #define MUTEX_ENTER() chMtxLock(&tdispMutex)
- #define MUTEX_LEAVE() chMtxUnlock()
+ #define MUTEX_INIT() gfxMutexInit(&tdispMutex)
+ #define MUTEX_ENTER() gfxMutexEnter(&tdispMutex)
+ #define MUTEX_LEAVE() gfxMutexExit(&tdispMutex)
#else