aboutsummaryrefslogtreecommitdiffstats
path: root/halext/drivers/gdispS6d1121
diff options
context:
space:
mode:
authorAndrew Hannam <andrewh@inmarket.com.au>2012-08-05 02:32:31 +1000
committerAndrew Hannam <andrewh@inmarket.com.au>2012-08-05 02:32:31 +1000
commitf4b63ebaf43c511aa90f829074ef40e00ed1370d (patch)
tree4a5f2486aebdefd9fe545f18ad03adf5cf39121b /halext/drivers/gdispS6d1121
parent15b13edb54bf7d078430eb848509b1567b97075f (diff)
downloaduGFX-f4b63ebaf43c511aa90f829074ef40e00ed1370d.tar.gz
uGFX-f4b63ebaf43c511aa90f829074ef40e00ed1370d.tar.bz2
uGFX-f4b63ebaf43c511aa90f829074ef40e00ed1370d.zip
Many changes including scaled fonts
Scaled fonts (independantly in x & y direction) based on normal sized font. Effectively double sized and double height same width fonts come free (or triple etc). New routine for sending low level drivers hardware commands eg backlight brightness, contrast Power and Orientation moved to new routine. Clean up on files to simplify low level driver file overheads.
Diffstat (limited to 'halext/drivers/gdispS6d1121')
-rw-r--r--halext/drivers/gdispS6d1121/gdisp_lld.c194
-rw-r--r--halext/drivers/gdispS6d1121/gdisp_lld.h150
-rw-r--r--halext/drivers/gdispS6d1121/gdisp_lld_config.h278
3 files changed, 159 insertions, 463 deletions
diff --git a/halext/drivers/gdispS6d1121/gdisp_lld.c b/halext/drivers/gdispS6d1121/gdisp_lld.c
index 8b98222c..dfac4e82 100644
--- a/halext/drivers/gdispS6d1121/gdisp_lld.c
+++ b/halext/drivers/gdispS6d1121/gdisp_lld.c
@@ -29,7 +29,6 @@
#include "ch.h"
#include "hal.h"
#include "gdisp.h"
-#include "gdisp_fonts.h"
#if HAL_USE_GDISP || defined(__DOXYGEN__)
@@ -72,9 +71,6 @@
/* Driver exported functions. */
/*===========================================================================*/
-/* Include the software emulation routines */
-#include "gdisp_lld_inc_emulation.c.h"
-
/* ---- Required Routines ---- */
/*
The following 2 routines are required.
@@ -248,87 +244,6 @@ void gdisp_lld_drawpixel(coord_t x, coord_t y, color_t color) {
gdisp_lld_fillarea() and gdisp_lld_blitarea().
*/
-#if GDISP_HARDWARE_POWERCONTROL || defined(__DOXYGEN__)
-/**
- * @brief Sets the power mode for the graphic device.
- * @note The power modes are powerOn, powerSleep and powerOff.
- * If powerSleep is not supported it is equivalent to powerOn.
- *
- * @param[in] powerMode The new power mode
- *
- * @notapi
- */
- void gdisp_lld_setpowermode(gdisp_powermode_t powerMode) {
- if (GDISP.Powermode == powerMode)
- return;
-
- switch(powerMode) {
- case powerOff:
- /* Code here */
- break;
- case powerOn:
- /* Code here */
- /* You may need this ---
- if (GDISP.Powermode != powerSleep)
- gdisp_lld_init();
- */
- break;
- case powerSleep:
- /* Code here */
- break;
- default:
- return;
- }
-
- GDISP.Powermode = powerMode;
- }
-#endif
-
-#if GDISP_HARDWARE_ORIENTATION || defined(__DOXYGEN__)
- /**
- * @brief Sets the orientation of the display.
- * @note This may be ignored if not supported by the device.
- *
- * @param[in] newOrientation The new orientation
- *
- * @notapi
- */
- void gdisp_lld_setorientation(gdisp_orientation_t newOrientation) {
- if (GDISP.Orientation == newOrientation)
- return;
-
- switch(newOrientation) {
- case portrait:
- lld_lcdWriteReg(0x0001,0x0127);
- lld_lcdWriteReg(0x03, 0b0011);
- GDISP.Height = SCREEN_HEIGHT;
- GDISP.Width = SCREEN_WIDTH;
- break;
- case landscape:
- lld_lcdWriteReg(0x0001,0x0027);
- lld_lcdWriteReg(0x0003, 0b1011);
- GDISP.Height = SCREEN_WIDTH;
- GDISP.Width = SCREEN_HEIGHT;
- break;
- case portraitInv:
- lld_lcdWriteReg(0x0001,0x0127);
- lld_lcdWriteReg(0x0003, 0b0000);
- GDISP.Height = SCREEN_HEIGHT;
- GDISP.Width = SCREEN_WIDTH;
- break;
- case landscapeInv:
- lld_lcdWriteReg(0x0001,0x0027);
- lld_lcdWriteReg(0x0003, 0b1000);
- GDISP.Height = SCREEN_WIDTH;
- GDISP.Width = SCREEN_HEIGHT;
- break;
- default:
- return;
- }
- GDISP.Orientation = newOrientation;
- }
-#endif
-
#if GDISP_HARDWARE_CLEARS || defined(__DOXYGEN__)
/**
* @brief Clear the display.
@@ -370,26 +285,6 @@ void gdisp_lld_drawpixel(coord_t x, coord_t y, color_t color) {
}
#endif
-#if GDISP_HARDWARE_BOX || defined(__DOXYGEN__)
- /**
- * @brief Draw a box.
- * @pre The GDISP unit must be in powerOn or powerSleep mode.
- *
- * @param[in] x0,y0 The start position
- * @param[in] cx,cy The size of the box (outside dimensions)
- * @param[in] color The color to use
- * @param[in] filled Should the box should be filled
- *
- * @notapi
- */
- void gdisp_lld_drawbox(coord_t x, coord_t y, coord_t cx, coord_t cy, color_t color) {
- #if GDISP_NEED_VALIDATION
- /* Need to clip to screen */
- #endif
- /* Code here */
- }
-#endif
-
#if GDISP_HARDWARE_FILLS || defined(__DOXYGEN__)
/**
* @brief Fill an area with a color.
@@ -536,6 +431,10 @@ void gdisp_lld_drawpixel(coord_t x, coord_t y, color_t color) {
#endif
#if (GDISP_NEED_TEXT && GDISP_HARDWARE_TEXT) || defined(__DOXYGEN__)
+ #include "gdisp_fonts.h"
+#endif
+
+#if (GDISP_NEED_TEXT && GDISP_HARDWARE_TEXT) || defined(__DOXYGEN__)
/**
* @brief Draw a character using a transparent background.
* @note Optional - The high level driver can emulate using software.
@@ -675,5 +574,90 @@ void gdisp_lld_drawpixel(coord_t x, coord_t y, color_t color) {
}
#endif
+#if GDISP_HARDWARE_CONTROL || defined(__DOXYGEN__)
+ /**
+ * @brief Driver Control
+ * @detail Unsupported control codes are ignored.
+ * @note The value parameter should always be typecast to (void *).
+ * @note There are some predefined and some specific to the low level driver.
+ * @note GDISP_CONTROL_POWER - Takes a gdisp_powermode_t
+ * GDISP_CONTROL_ORIENTATION - Takes a gdisp_orientation_t
+ * GDISP_CONTROL_BACKLIGHT - Takes an int from 0 to 100. For a driver
+ * that only supports off/on anything other
+ * than zero is on.
+ * GDISP_CONTROL_CONTRAST - Takes an int from 0 to 100.
+ * GDISP_CONTROL_LLD - Low level driver control constants start at
+ * this value.
+ *
+ * @param[in] what What to do.
+ * @param[in] value The value to use (always cast to a void *).
+ *
+ * @notapi
+ */
+ void gdisp_lld_control(int what, void *value) {
+ switch(what) {
+ case GDISP_CONTROL_POWER:
+ if (GDISP.Powermode == (gdisp_powermode_t)value)
+ return;
+ switch((gdisp_powermode_t)value) {
+ case powerOff:
+ /* Code here */
+ /* break; */
+ case powerOn:
+ /* Code here */
+ /* You may need this ---
+ if (GDISP.Powermode != powerSleep)
+ gdisp_lld_init();
+ */
+ /* break; */
+ case powerSleep:
+ /* Code here */
+ /* break; */
+ default:
+ return;
+ }
+ GDISP.Powermode = (gdisp_powermode_t)value;
+ return;
+ case GDISP_CONTROL_ORIENTATION:
+ if (GDISP.Orientation == (gdisp_orientation_t)value)
+ return;
+ switch((gdisp_orientation_t)value) {
+ case portrait:
+ lld_lcdWriteReg(0x0001,0x0127);
+ lld_lcdWriteReg(0x03, 0b0011);
+ GDISP.Height = SCREEN_HEIGHT;
+ GDISP.Width = SCREEN_WIDTH;
+ break;
+ case landscape:
+ lld_lcdWriteReg(0x0001,0x0027);
+ lld_lcdWriteReg(0x0003, 0b1011);
+ GDISP.Height = SCREEN_WIDTH;
+ GDISP.Width = SCREEN_HEIGHT;
+ break;
+ case portraitInv:
+ lld_lcdWriteReg(0x0001,0x0127);
+ lld_lcdWriteReg(0x0003, 0b0000);
+ GDISP.Height = SCREEN_HEIGHT;
+ GDISP.Width = SCREEN_WIDTH;
+ break;
+ case landscapeInv:
+ lld_lcdWriteReg(0x0001,0x0027);
+ lld_lcdWriteReg(0x0003, 0b1000);
+ GDISP.Height = SCREEN_WIDTH;
+ GDISP.Width = SCREEN_HEIGHT;
+ break;
+ default:
+ return;
+ }
+ GDISP.Orientation = (gdisp_orientation_t)value;
+ return;
+/*
+ case GDISP_CONTROL_BACKLIGHT:
+ case GDISP_CONTROL_CONTRAST:
+*/
+ }
+ }
+#endif
+
#endif /* HAL_USE_GDISP */
/** @} */
diff --git a/halext/drivers/gdispS6d1121/gdisp_lld.h b/halext/drivers/gdispS6d1121/gdisp_lld.h
deleted file mode 100644
index f32b3e47..00000000
--- a/halext/drivers/gdispS6d1121/gdisp_lld.h
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- ChibiOS/RT - Copyright (C) 2012
- Joel Bodenmann aka Tectu <joel@unormal.org>
-
- This file is part of ChibiOS-LCD-Driver.
-
- ChibiOS-LCD-Driver 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-LCD-Driver 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/>.
-*/
-
-/**
- * @file templates/gdisp_lld.h
- * @brief GDISP Graphic Driver subsystem low level driver header template.
- *
- * @addtogroup GDISP
- * @{
- */
-
-#ifndef _GDISP_LLD_H
-#define _GDISP_LLD_H
-
-#if HAL_USE_GDISP || defined(__DOXYGEN__)
-
-/*===========================================================================*/
-/* Driver constants. */
-/*===========================================================================*/
-
-/*===========================================================================*/
-/* Driver pre-compile time settings. */
-/*===========================================================================*/
-
-/*===========================================================================*/
-/* Derived constants and error checks. */
-/*===========================================================================*/
-
-/*===========================================================================*/
-/* Driver data structures and types. */
-/*===========================================================================*/
-
-/**
- * @brief Structure representing a GDISP driver.
- * @note Implementations may extend this structure to contain more,
- * architecture dependent, fields.
- */
-struct GDISPDriver {
- /**
- * @brief Width of the screen.
- * @note Read-only.
- */
- coord_t Width;
- /**
- * @brief Height of the screen.
- * @note Read-only.
- */
- coord_t Height;
- /**
- * @brief Current orientation of the screen.
- * @note Read-only.
- */
- gdisp_orientation_t Orientation;
- /**
- * @brief Current power mode of the screen.
- * @note Read-only.
- */
- gdisp_powermode_t Powermode;
-
- #if defined(GDISP_DRIVER_EXT_FIELDS)
- GDISP_DRIVER_EXT_FIELDS
- #endif
- /* End of mandatory fields */
-};
-
-/*===========================================================================*/
-/* Driver macros. */
-/*===========================================================================*/
-
-/*===========================================================================*/
-/* External declarations. */
-/*===========================================================================*/
-
-#if !defined(__DOXYGEN__)
- extern GDISPDriver GDISP;
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
- /* Core functions */
- void gdisp_lld_init(void);
- void gdisp_lld_setpowermode(gdisp_powermode_t powerMode);
- void gdisp_lld_setorientation(gdisp_orientation_t newOrientation);
-
- /* Some of these functions will be implemented in software by the high level driver
- depending on the GDISP_HARDWARE_XXX macros defined in gdisp_lld_config.h.
- */
-
- /* Drawing functions */
- void gdisp_lld_clear(color_t color);
- void gdisp_lld_drawpixel(coord_t x, coord_t y, color_t color);
- void gdisp_lld_drawline(coord_t x0, coord_t y0, coord_t x1, coord_t y1, color_t color);
- void gdisp_lld_drawbox(coord_t x, coord_t y, coord_t cx, coord_t cy, color_t color);
- void gdisp_lld_fillarea(coord_t x, coord_t y, coord_t cx, coord_t cy, color_t color);
- void gdisp_lld_blitarea(coord_t x, coord_t y, coord_t cx, coord_t cy, pixel_t *buffer);
-
- /* Circular Drawing Functions */
- #if GDISP_NEED_CIRCLE
- void gdisp_lld_drawcircle(coord_t x, coord_t y, coord_t radius, color_t color);
- void gdisp_lld_fillcircle(coord_t x, coord_t y, coord_t radius, color_t color);
- #endif
-
- #if GDISP_NEED_ELLIPSE
- void gdisp_lld_drawellipse(coord_t x, coord_t y, coord_t a, coord_t b, color_t color);
- void gdisp_lld_fillellipse(coord_t x, coord_t y, coord_t a, coord_t b, color_t color);
- #endif
-
- /* Text Rendering Functions */
- #if GDISP_NEED_TEXT
- void gdisp_lld_drawchar(coord_t x, coord_t y, char c, font_t font, color_t color);
- void gdisp_lld_fillchar(coord_t x, coord_t y, char c, font_t font, color_t color, color_t bgcolor);
- #endif
-
- /* Pixel readback */
- #if GDISP_NEED_PIXELREAD
- color_t gdisp_lld_getpixelcolor(coord_t x, coord_t y);
- #endif
-
- /* Scrolling Function - clears the area scrolled out */
- #if GDISP_NEED_SCROLL
- void gdisp_lld_verticalscroll(coord_t x, coord_t y, coord_t cx, coord_t cy, int lines, color_t bgcolor);
- #endif
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* HAL_USE_GDISP */
-
-#endif /* _GDISP_LLD_H */
-/** @} */
diff --git a/halext/drivers/gdispS6d1121/gdisp_lld_config.h b/halext/drivers/gdispS6d1121/gdisp_lld_config.h
index f38b3fb7..83f5ce3d 100644
--- a/halext/drivers/gdispS6d1121/gdisp_lld_config.h
+++ b/halext/drivers/gdispS6d1121/gdisp_lld_config.h
@@ -1,208 +1,70 @@
-/*
- ChibiOS/RT - Copyright (C) 2012
- Joel Bodenmann aka Tectu <joel@unormal.org>
-
- This file is part of ChibiOS-LCD-Driver.
-
- ChibiOS-LCD-Driver 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-LCD-Driver 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/>.
-*/
-
-/**
- * @file gdispS6d1121/gdisp_lld_config.h
- * @brief GDISP Graphic Driver subsystem low level driver header for the S6d1121 display.
- *
- * @addtogroup GDISP
- * @{
- */
-
-#ifndef _GDISP_LLD_CONFIG_H
-#define _GDISP_LLD_CONFIG_H
-
-#if HAL_USE_GDISP || defined(__DOXYGEN__)
-
-/*===========================================================================*/
-/* Driver pre-compile time settings. */
-/*===========================================================================*/
-
-/**
- * @name GDISP hardware accelerated support
- * @{
- */
- /**
- * @brief Hardware supports changing the orientation.
- * @details If set to @p FALSE a software stubb is provided.
- */
- #define GDISP_HARDWARE_ORIENTATION TRUE
-
- /**
- * @brief Hardware supports power control.
- * @details If set to @p FALSE a software stubb is provided.
- */
- #define GDISP_HARDWARE_POWERCONTROL FALSE
-
- /**
- * @brief Hardware accelerated line drawing.
- * @details If set to @p FALSE software emulation is used.
- */
- #define GDISP_HARDWARE_LINES FALSE
-
- /**
- * @brief Hardware accelerated box drawing.
- * @details If set to @p FALSE software emulation is used.
- */
- #define GDISP_HARDWARE_BOX FALSE
-
- /**
- * @brief Hardware accelerated screen clears.
- * @details If set to @p FALSE software emulation is used.
- */
- #define GDISP_HARDWARE_CLEARS TRUE
-
- /**
- * @brief Hardware accelerated rectangular fills.
- * @details If set to @p FALSE software emulation is used.
- */
- #define GDISP_HARDWARE_FILLS TRUE
-
- /**
- * @brief Hardware accelerated fills from an image.
- * @details If set to @p FALSE software emulation is used.
- */
- #define GDISP_HARDWARE_BITFILLS TRUE
-
- /**
- * @brief Hardware accelerated circles.
- * @details If set to @p FALSE software emulation is used.
- */
- #define GDISP_HARDWARE_CIRCLES FALSE
-
- /**
- * @brief Hardware accelerated filled circles.
- * @details If set to @p FALSE software emulation is used.
- */
- #define GDISP_HARDWARE_CIRCLEFILLS FALSE
-
- /**
- * @brief Hardware accelerated ellipses.
- * @details If set to @p FALSE software emulation is used.
- */
- #define GDISP_HARDWARE_ELLIPSES FALSE
-
- /**
- * @brief Hardware accelerated filled ellipses.
- * @details If set to @p FALSE software emulation is used.
- */
- #define GDISP_HARDWARE_ELLIPSEFILLS FALSE
-
- /**
- * @brief Hardware accelerated text drawing.
- * @details If set to @p FALSE software emulation is used.
- */
- #define GDISP_HARDWARE_TEXT FALSE
-
- /**
- * @brief Hardware accelerated text drawing with a filled background.
- * @details If set to @p FALSE software emulation is used.
- */
- #define GDISP_HARDWARE_TEXTFILLS FALSE
-
- /**
- * @brief Hardware accelerated scrolling.
- * @details If set to @p FALSE there is no support for scrolling.
- */
- #define GDISP_HARDWARE_SCROLL FALSE
-
- /**
- * @brief Reading back of pixel values.
- * @details If set to @p FALSE there is no support for pixel read-back.
- */
- #define GDISP_HARDWARE_PIXELREAD FALSE
-/** @} */
-
-/**
- * @name GDISP software algorithm choices
- * @{
- */
- /**
- * @brief For filled text drawing, use a background fill and then draw
- * the text instead of using a blit or direct pixel drawing.
- * @details If set to @p TRUE background fill and then text draw is used.
- * @note This is ignored if hardware accelerated text is supported.
- */
- #define GDISP_SOFTWARE_TEXTFILLDRAW FALSE
- /**
- * @brief For filled text drawing, when using a bitmap blit
- * use a column by column buffer rather than a full character
- * buffer to save memory at a small performance cost.
- * @details If set to @p TRUE background fill one character column at a time.
- * @note This is ignored if software text using blit is not being used.
- */
- #define GDISP_SOFTWARE_TEXTBLITCOLUMN FALSE
-/** @} */
-
-/**
- * @name GDISP pixel format choices
- * @{
- */
- /**
- * @brief The native pixel format for this device
- * @note One of the following should be defined:
- * GDISP_PIXELFORMAT_RGB565
- * GDISP_PIXELFORMAT_RGB888
- * GDISP_PIXELFORMAT_RGB444
- * GDISP_PIXELFORMAT_RGB332
- * GDISP_PIXELFORMAT_RGB666
- * GDISP_PIXELFORMAT_CUSTOM
- * @note If you define GDISP_PIXELFORMAT_CUSTOM you need to also define
- * color_t, RGB2COLOR(r,g,b), HTML2COLOR(h),
- * RED_OF(c), GREEN_OF(c), BLUE_OF(c),
- * COLOR(c) and MASKCOLOR.
- */
- #define GDISP_PIXELFORMAT_RGB565
-
- /**
- * @brief Do pixels require packing for a blit
- * @note Is only valid for a pixel format that doesn't fill it's datatype. ie formats:
- * GDISP_PIXELFORMAT_RGB888
- * GDISP_PIXELFORMAT_RGB444
- * GDISP_PIXELFORMAT_RGB666
- * GDISP_PIXELFORMAT_CUSTOM
- * @note If you use GDISP_PIXELFORMAT_CUSTOM and packed bit fills
- * you need to also define @P gdispPackPixels(buf,cx,x,y,c)
- * @note If you are using GDISP_HARDWARE_BITFILLS = FALSE then the pixel
- * format must not be a packed format as the software blit does
- * not support packed pixels
- * @note Very few cases should actually require packed pixels as the low
- * level driver can also pack on the fly as it is sending it
- * to the graphics device.
- */
- #define GDISP_PACKED_PIXELS FALSE
-
- /**
- * @brief Do lines of pixels require packing for a blit
- * @note Ignored if GDISP_PACKED_PIXELS is FALSE
- */
- #define GDISP_PACKED_LINES FALSE
-
- /**
- * @brief Do lines of pixels require packing for a blit
- * @note Ignored if GDISP_PACKED_PIXELS is FALSE
- */
- #define GDISP_PACKED_LINES FALSE
-/** @} */
-
-#endif /* HAL_USE_GDISP */
-
-#endif /* _GDISP_LLD_CONFIG_H */
-/** @} */
+/*
+ ChibiOS/RT - Copyright (C) 2012
+ Joel Bodenmann aka Tectu <joel@unormal.org>
+
+ This file is part of ChibiOS-LCD-Driver.
+
+ ChibiOS-LCD-Driver 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-LCD-Driver 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/>.
+*/
+
+/**
+ * @file gdispS6d1121/gdisp_lld_config.h
+ * @brief GDISP Graphic Driver subsystem low level driver header for the S6d1121 display.
+ *
+ * @addtogroup GDISP
+ * @{
+ */
+
+#ifndef _GDISP_LLD_CONFIG_H
+#define _GDISP_LLD_CONFIG_H
+
+#if HAL_USE_GDISP || defined(__DOXYGEN__)
+
+/*===========================================================================*/
+/* Driver hardware support. */
+/*===========================================================================*/
+
+#define GDISP_HARDWARE_LINES FALSE
+#define GDISP_HARDWARE_CLEARS TRUE
+#define GDISP_HARDWARE_FILLS TRUE
+#define GDISP_HARDWARE_BITFILLS TRUE
+#define GDISP_HARDWARE_CIRCLES FALSE
+#define GDISP_HARDWARE_CIRCLEFILLS FALSE
+#define GDISP_HARDWARE_ELLIPSES FALSE
+#define GDISP_HARDWARE_ELLIPSEFILLS FALSE
+#define GDISP_HARDWARE_TEXT FALSE
+#define GDISP_HARDWARE_TEXTFILLS FALSE
+#define GDISP_HARDWARE_SCROLL FALSE
+#define GDISP_HARDWARE_PIXELREAD FALSE
+#define GDISP_HARDWARE_CONTROL TRUE
+
+#define GDISP_SOFTWARE_TEXTFILLDRAW FALSE
+#define GDISP_SOFTWARE_TEXTBLITCOLUMN FALSE
+
+#define GDISP_PIXELFORMAT_RGB565
+#define GDISP_PACKED_PIXELS FALSE
+#define GDISP_PACKED_LINES FALSE
+
+/*===========================================================================*/
+/* Extra fields for the GDISPDriver structure */
+/*===========================================================================*/
+
+/*
+#define GDISP_DRIVER_EXT_FIELDS int abc; int def;
+*/
+
+#endif /* HAL_USE_GDISP */
+
+#endif /* _GDISP_LLD_CONFIG_H */
+/** @} */