aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gdisp
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gdisp')
-rw-r--r--drivers/gdisp/ED060SC4/board_ED060SC4_template.h92
-rw-r--r--drivers/gdisp/ED060SC4/gdisp_lld_ED060SC4.c43
-rw-r--r--drivers/gdisp/HX8347D/HX8347D.h9
-rw-r--r--drivers/gdisp/HX8347D/board_HX8347D_template.h96
-rw-r--r--drivers/gdisp/HX8347D/gdisp_lld_HX8347D.c5
-rw-r--r--drivers/gdisp/HX8347D/gdisp_lld_config.h9
-rw-r--r--drivers/gdisp/ILI9320/board_ILI9320_template.h97
-rw-r--r--drivers/gdisp/ILI9320/gdisp_lld_ILI9320.c9
-rw-r--r--drivers/gdisp/ILI9320/gdisp_lld_config.h10
-rw-r--r--drivers/gdisp/ILI9325/board_ILI9325_template.h95
-rw-r--r--drivers/gdisp/ILI9325/gdisp_lld_ILI9325.c5
-rw-r--r--drivers/gdisp/ILI9325/gdisp_lld_config.h10
-rw-r--r--drivers/gdisp/ILI9341/board_ILI9341_template.h94
-rw-r--r--drivers/gdisp/ILI9341/gdisp_lld_ILI9341.c6
-rw-r--r--drivers/gdisp/ILI9341/gdisp_lld_config.h10
-rw-r--r--drivers/gdisp/ILI9481/board_ILI9481_template.h95
-rw-r--r--drivers/gdisp/ILI9481/gdisp_lld_ILI9481.c7
-rw-r--r--drivers/gdisp/ILI9481/gdisp_lld_config.h10
-rw-r--r--drivers/gdisp/LGD4532/board_LGD4532_template.h71
-rw-r--r--drivers/gdisp/LGD4532/gdisp_lld.mk2
-rw-r--r--drivers/gdisp/LGD4532/gdisp_lld_LGD4532.c359
-rw-r--r--drivers/gdisp/LGD4532/gdisp_lld_config.h21
-rw-r--r--drivers/gdisp/Nokia6610GE12/board_Nokia6610GE12_template.h72
-rw-r--r--drivers/gdisp/Nokia6610GE12/gdisp_lld_Nokia6610GE12.c5
-rw-r--r--drivers/gdisp/Nokia6610GE12/gdisp_lld_config.h9
-rw-r--r--drivers/gdisp/Nokia6610GE8/board_Nokia6610GE8_template.h72
-rw-r--r--drivers/gdisp/Nokia6610GE8/gdisp_lld_Nokia6610GE8.c61
-rw-r--r--drivers/gdisp/Nokia6610GE8/gdisp_lld_config.h9
-rw-r--r--drivers/gdisp/RA8875/board_RA8875_template.h89
-rw-r--r--drivers/gdisp/RA8875/gdisp_lld_RA8875.c5
-rw-r--r--drivers/gdisp/RA8875/gdisp_lld_config.h10
-rw-r--r--drivers/gdisp/S6D1121/board_S6D1121_template.h94
-rw-r--r--drivers/gdisp/S6D1121/gdisp_lld_S6D1121.c10
-rw-r--r--drivers/gdisp/S6D1121/gdisp_lld_config.h10
-rw-r--r--drivers/gdisp/SSD1289/board_SSD1289_template.h115
-rw-r--r--drivers/gdisp/SSD1289/gdisp_lld_SSD1289.c5
-rw-r--r--drivers/gdisp/SSD1289/gdisp_lld_config.h9
-rw-r--r--drivers/gdisp/SSD1306/SSD1306.h2
-rw-r--r--drivers/gdisp/SSD1306/board_SSD1306_template.h71
-rw-r--r--drivers/gdisp/SSD1306/gdisp_lld_SSD1306.c6
-rw-r--r--drivers/gdisp/SSD1306/gdisp_lld_config.h2
-rw-r--r--drivers/gdisp/SSD1963/board_SSD1963_template.h94
-rw-r--r--drivers/gdisp/SSD1963/gdisp_lld_SSD1963.c6
-rw-r--r--drivers/gdisp/SSD1963/gdisp_lld_config.h10
-rw-r--r--drivers/gdisp/SSD1963/ssd1963.h2
-rw-r--r--drivers/gdisp/SSD2119/board_SSD2119_template.h115
-rw-r--r--drivers/gdisp/SSD2119/gdisp_lld_SSD2119.c5
-rw-r--r--drivers/gdisp/SSD2119/gdisp_lld_config.h9
-rw-r--r--drivers/gdisp/SSD2119/ssd2119.h10
-rw-r--r--drivers/gdisp/ST7565/board_ST7565_template.h68
-rw-r--r--drivers/gdisp/ST7565/gdisp_lld_ST7565.c7
-rw-r--r--drivers/gdisp/ST7565/gdisp_lld_config.h2
-rw-r--r--drivers/gdisp/ST7565/st7565.h2
-rw-r--r--drivers/gdisp/TestStub/gdisp_lld_TestStub.c5
-rw-r--r--drivers/gdisp/TestStub/gdisp_lld_config.h9
55 files changed, 517 insertions, 1638 deletions
diff --git a/drivers/gdisp/ED060SC4/board_ED060SC4_template.h b/drivers/gdisp/ED060SC4/board_ED060SC4_template.h
index 6d71a986..69683cd0 100644
--- a/drivers/gdisp/ED060SC4/board_ED060SC4_template.h
+++ b/drivers/gdisp/ED060SC4/board_ED060SC4_template.h
@@ -5,18 +5,10 @@
* http://ugfx.org/license.html
*/
-/**
- * @file drivers/gdisp/ST7565/board_ST7565_template.h
- * @brief GDISP Graphic Driver subsystem board interface for the ST7565 display.
- *
- * @addtogroup GDISP
- * @{
- */
-
#ifndef _GDISP_LLD_BOARD_H
#define _GDISP_LLD_BOARD_H
-/**
+/*
* @brief Optional parameters that can be put in this file.
* @note The values listed below are the defaults.
*
@@ -54,149 +46,67 @@
* #define EINK_WRITECOUNT 4
*/
-/**
- * @brief Initialise the board for the display.
- *
- * @param[in] g The GDisplay structure
- *
- * @note Set the g->board member to whatever is appropriate. For multiple
- * displays this might be a pointer to the appropriate register set.
- *
- * @notapi
- */
static inline void init_board(GDisplay *g) {
(void) g;
}
-/**
- * @brief Delay for display waveforms. Should be an accurate microsecond delay.
- *
- * @param[in] us The number of microseconds
- */
static void eink_delay(int us) {
(void) us;
}
-/**
- * @brief Turn the E-ink panel Vdd supply (+3.3V) on or off.
- *
- * @param[in] g The GDisplay structure
- * @param[in] on On or off
- */
static inline void setpower_vdd(GDisplay *g, bool_t on) {
(void) g;
(void) on;
}
-/**
- * @brief Turn the E-ink panel negative supplies (-15V, -20V) on or off.
- *
- * @param[in] g The GDisplay structure
- * @param[in] on On or off
- */
static inline void setpower_vneg(GDisplay *g, bool_t on) {
(void) g;
(void) on;
}
-/**
- * @brief Turn the E-ink panel positive supplies (-15V, -20V) on or off.
- *
- * @param[in] g The GDisplay structure
- * @param[in] on On or off
- */
static inline void setpower_vpos(GDisplay *g, bool_t on) {
(void) g;
(void) on;
}
-/**
- * @brief Set the state of the LE (source driver Latch Enable) pin.
- *
- * @param[in] g The GDisplay structure
- * @param[in] on On or off
- */
static inline void setpin_le(GDisplay *g, bool_t on) {
(void) g;
(void) on;
}
-/**
- * @brief Set the state of the OE (source driver Output Enable) pin.
- *
- * @param[in] g The GDisplay structure
- * @param[in] on On or off
- */
static inline void setpin_oe(GDisplay *g, bool_t on) {
(void) g;
(void) on;
}
-/**
- * @brief Set the state of the CL (source driver Clock) pin.
- *
- * @param[in] g The GDisplay structure
- * @param[in] on On or off
- */
static inline void setpin_cl(GDisplay *g, bool_t on) {
(void) g;
(void) on;
}
-/**
- * @brief Set the state of the SPH (source driver Start Pulse Horizontal) pin.
- *
- * @param[in] g The GDisplay structure
- * @param[in] on On or off
- */
static inline void setpin_sph(GDisplay *g, bool_t on) {
(void) g;
(void) on;
}
-/**
- * @brief Set the state of the D0-D7 (source driver Data) pins.
- *
- * @param[in] g The GDisplay structure
- * @param[in] value The byte to write
- */
static inline void setpins_data(GDisplay *g, uint8_t value) {
(void) g;
(void) value;
}
-/**
- * @brief Set the state of the CKV (gate driver Clock Vertical) pin.
- *
- * @param[in] g The GDisplay structure
- * @param[in] on On or off
- */
static inline void setpin_ckv(GDisplay *g, bool_t on) {
(void) g;
(void) on;
}
-/**
- * @brief Set the state of the GMODE (gate driver Gate Mode) pin.
- *
- * @param[in] g The GDisplay structure
- * @param[in] on On or off
- */
static inline void setpin_gmode(GDisplay *g, bool_t on) {
(void) g;
(void) on;
}
-/**
- * @brief Set the state of the SPV (gate driver Start Pulse Vertical) pin.
- *
- * @param[in] g The GDisplay structure
- * @param[in] on On or off
- */
static inline void setpin_spv(GDisplay *g, bool_t on) {
(void) g;
(void) on;
}
#endif /* _GDISP_LLD_BOARD_H */
-/** @} */
diff --git a/drivers/gdisp/ED060SC4/gdisp_lld_ED060SC4.c b/drivers/gdisp/ED060SC4/gdisp_lld_ED060SC4.c
index 1c61ee93..789053c8 100644
--- a/drivers/gdisp/ED060SC4/gdisp_lld_ED060SC4.c
+++ b/drivers/gdisp/ED060SC4/gdisp_lld_ED060SC4.c
@@ -5,11 +5,6 @@
* http://ugfx.org/license.html
*/
-/**
- * @file drivers/gdisp/ED060SC4/gdisp_lld.c
- * @brief GDISP Graphics Driver for the E-ink panel ED060SC4.
- */
-
#include "gfx.h"
#if GFX_USE_GDISP
@@ -83,7 +78,7 @@
#define PRIV(g) ((drvPriv *)g->priv)
-/** Delay between signal changes, to give time for IO pins to change state. */
+/* Delay between signal changes, to give time for IO pins to change state. */
static inline void clockdelay(void)
{
#if EINK_CLOCKDELAY & 1
@@ -111,7 +106,7 @@ static inline void clockdelay(void)
#endif
}
-/** Fast vertical clock pulse for gate driver, used during initializations */
+/* Fast vertical clock pulse for gate driver, used during initializations */
static void vclock_quick(GDisplay *g)
{
setpin_ckv(g, TRUE);
@@ -120,7 +115,7 @@ static void vclock_quick(GDisplay *g)
eink_delay(4);
}
-/** Horizontal clock pulse for clocking data into source driver */
+/* Horizontal clock pulse for clocking data into source driver */
static void hclock(GDisplay *g)
{
clockdelay();
@@ -129,7 +124,7 @@ static void hclock(GDisplay *g)
setpin_cl(g, FALSE);
}
-/** Start a new vertical gate driver scan from top.
+/* Start a new vertical gate driver scan from top.
* Note: Does not clear any previous bits in the shift register,
* so you should always scan through the whole display before
* starting a new scan.
@@ -144,7 +139,7 @@ static void vscan_start(GDisplay *g)
vclock_quick(g);
}
-/** Waveform for strobing a row of data onto the display.
+/* Waveform for strobing a row of data onto the display.
* Attempts to minimize the leaking of color to other rows by having
* a long idle period after a medium-length strobe period.
*/
@@ -158,7 +153,7 @@ static void vscan_write(GDisplay *g)
eink_delay(200);
}
-/** Waveform used when clearing the display. Strobes a row of data to the
+/* Waveform used when clearing the display. Strobes a row of data to the
* screen, but does not mind some of it leaking to other rows.
*/
static void vscan_bulkwrite(GDisplay *g)
@@ -169,7 +164,7 @@ static void vscan_bulkwrite(GDisplay *g)
eink_delay(200);
}
-/** Waveform for skipping a vertical row without writing anything.
+/* Waveform for skipping a vertical row without writing anything.
* Attempts to minimize the amount of change in any row.
*/
static void vscan_skip(GDisplay *g)
@@ -180,7 +175,7 @@ static void vscan_skip(GDisplay *g)
eink_delay(100);
}
-/** Stop the vertical scan. The significance of this escapes me, but it seems
+/* Stop the vertical scan. The significance of this escapes me, but it seems
* necessary or the next vertical scan may be corrupted.
*/
static void vscan_stop(GDisplay *g)
@@ -193,7 +188,7 @@ static void vscan_stop(GDisplay *g)
vclock_quick(g);
}
-/** Start updating the source driver data (from left to right). */
+/* Start updating the source driver data (from left to right). */
static void hscan_start(GDisplay *g)
{
/* Disable latching and output enable while we are modifying the row. */
@@ -204,7 +199,7 @@ static void hscan_start(GDisplay *g)
setpin_sph(g, FALSE);
}
-/** Write data to the horizontal row. */
+/* Write data to the horizontal row. */
static void hscan_write(GDisplay *g, const uint8_t *data, int count)
{
while (count--)
@@ -217,7 +212,7 @@ static void hscan_write(GDisplay *g, const uint8_t *data, int count)
}
}
-/** Finish and transfer the row to the source drivers.
+/* Finish and transfer the row to the source drivers.
* Does not set the output enable, so the drivers are not yet active. */
static void hscan_stop(GDisplay *g)
{
@@ -231,7 +226,7 @@ static void hscan_stop(GDisplay *g)
setpin_le(g, FALSE);
}
-/** Turn on the power to the E-Ink panel, observing proper power sequencing. */
+/* Turn on the power to the E-Ink panel, observing proper power sequencing. */
static void power_on(GDisplay *g)
{
unsigned i;
@@ -264,7 +259,7 @@ static void power_on(GDisplay *g)
vscan_stop(g);
}
-/** Turn off the power, observing proper power sequencing. */
+/* Turn off the power, observing proper power sequencing. */
static void power_off(GDisplay *g)
{
/* First the high voltages */
@@ -289,7 +284,7 @@ static void power_off(GDisplay *g)
/* ====================================
* Framebuffer emulation layer
* ==================================== */
-
+
#if EINK_PPB == 4
#define PIXELMASK 3
#define PIXEL_WHITE 2
@@ -336,7 +331,7 @@ typedef struct drvPriv {
uint8_t g_blockmap[BLOCKS_Y][BLOCKS_X];
} drvPriv;
-/** Check if the row contains any allocated blocks. */
+/* Check if the row contains any allocated blocks. */
static bool_t blocks_on_row(GDisplay *g, unsigned by)
{
unsigned bx;
@@ -350,7 +345,7 @@ static bool_t blocks_on_row(GDisplay *g, unsigned by)
return FALSE;
}
-/** Write out a block row. */
+/* Write out a block row. */
static void write_block_row(GDisplay *g, unsigned by)
{
unsigned bx, dy, dx;
@@ -379,7 +374,7 @@ static void write_block_row(GDisplay *g, unsigned by)
}
}
-/** Clear the block map, i.e. deallocate all blocks */
+/* Clear the block map, i.e. deallocate all blocks */
static void clear_block_map(GDisplay *g)
{
unsigned bx, by;
@@ -394,7 +389,7 @@ static void clear_block_map(GDisplay *g)
PRIV(g)->g_next_block = 0;
}
-/** Initialize a newly allocated block. */
+/* Initialize a newly allocated block. */
static void zero_block(block_t *block)
{
unsigned dx, dy;
@@ -407,7 +402,7 @@ static void zero_block(block_t *block)
}
}
-/** Allocate a buffer
+/* Allocate a buffer
* Automatically flushes if all buffers are full. */
static block_t *alloc_buffer(GDisplay *g, unsigned bx, unsigned by)
{
diff --git a/drivers/gdisp/HX8347D/HX8347D.h b/drivers/gdisp/HX8347D/HX8347D.h
index 280cd748..479a9ef0 100644
--- a/drivers/gdisp/HX8347D/HX8347D.h
+++ b/drivers/gdisp/HX8347D/HX8347D.h
@@ -5,14 +5,6 @@
* http://ugfx.org/license.html
*/
-/**
- * @file drivers/gdisp/HX8347D/HX8347D.h
- * @brief GDISP Graphic Driver support header for the HX8347D display.
- *
- * @addtogroup GDISP
- * @{
- */
-
#ifndef _HX8347D_H
#define _HX8347D_H
@@ -140,4 +132,3 @@
#define HX8347D_REG_PGSEL 0xff /* Page select */
#endif /* _HX8347D_H */
-/** @} */
diff --git a/drivers/gdisp/HX8347D/board_HX8347D_template.h b/drivers/gdisp/HX8347D/board_HX8347D_template.h
index 57ec75f6..fd40d30c 100644
--- a/drivers/gdisp/HX8347D/board_HX8347D_template.h
+++ b/drivers/gdisp/HX8347D/board_HX8347D_template.h
@@ -5,152 +5,56 @@
* http://ugfx.org/license.html
*/
-/**
- * @file drivers/gdisp/HX8347D/board_HX8347D_template.h
- * @brief GDISP Graphic Driver subsystem board SPI interface for the HX8347D display.
- *
- * @addtogroup GDISP
- * @{
- */
-
#ifndef _GDISP_LLD_BOARD_H
#define _GDISP_LLD_BOARD_H
-/**
- * @brief Initialise the board for the display.
- *
- * @param[in] g The GDisplay structure
- *
- * @note Set the g->board member to whatever is appropriate. For multiple
- * displays this might be a pointer to the appropriate register set.
- *
- * @notapi
- */
static inline void init_board(GDisplay *g) {
(void) g;
}
-/**
- * @brief After the initialisation.
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void post_init_board(GDisplay *g) {
(void) g;
}
-/**
- * @brief Set or clear the lcd reset pin.
- *
- * @param[in] g The GDisplay structure
- * @param[in] state TRUE = lcd in reset, FALSE = normal operation
- *
- * @notapi
- */
static inline void setpin_reset(GDisplay *g, bool_t state) {
(void) g;
(void) state;
}
-/**
- * @brief Set the lcd back-light level.
- *
- * @param[in] g The GDisplay structure
- * @param[in] percent 0 to 100%
- *
- * @notapi
- */
static inline void set_backlight(GDisplay *g, uint8_t percent) {
(void) g;
(void) percent;
}
-/**
- * @brief Take exclusive control of the bus
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void acquire_bus(GDisplay *g) {
(void) g;
}
-/**
- * @brief Release exclusive control of the bus
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void release_bus(GDisplay *g) {
(void) g;
}
-/**
- * @brief Set the bus in 16 bit mode
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void busmode16(GDisplay *g) {
(void) g;
}
-/**
- * @brief Set the bus in 8 bit mode (the default)
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void busmode8(GDisplay *g) {
(void) g;
}
-/**
- * @brief Send data to the index register.
- *
- * @param[in] g The GDisplay structure
- * @param[in] index The index register to set
- *
- * @notapi
- */
static inline void write_index(GDisplay *g, uint8_t index) {
(void) g;
(void) index;
}
-/**
- * @brief Send 8 bits of data to the lcd.
- * @pre The bus is in 8 bit mode
- *
- * @param[in] g The GDisplay structure
- * @param[in] data The data to send
- *
- * @notapi
- */
static inline void write_data(GDisplay *g, uint8_t data) {
(void) g;
(void) data;
}
-/**
- * @brief Send 16 bits of data to the lcd.
- * @pre The bus is in 16 bit mode
- *
- * @param[in] g The GDisplay structure
- * @param[in] data The data to send
- *
- * @notapi
- */
static inline void write_ram16(GDisplay *g, uint16_t data) {
(void) g;
(void) data;
}
#endif /* _GDISP_LLD_BOARD_H */
-/** @} */
diff --git a/drivers/gdisp/HX8347D/gdisp_lld_HX8347D.c b/drivers/gdisp/HX8347D/gdisp_lld_HX8347D.c
index 1b581d4d..34051c22 100644
--- a/drivers/gdisp/HX8347D/gdisp_lld_HX8347D.c
+++ b/drivers/gdisp/HX8347D/gdisp_lld_HX8347D.c
@@ -5,11 +5,6 @@
* http://ugfx.org/license.html
*/
-/**
- * @file drivers/gdisp/HX8347D/gdisp_lld.c
- * @brief GDISP Graphics Driver subsystem low level driver source for the HX8347D display.
- */
-
#include "gfx.h"
#if GFX_USE_GDISP
diff --git a/drivers/gdisp/HX8347D/gdisp_lld_config.h b/drivers/gdisp/HX8347D/gdisp_lld_config.h
index ab4c8639..0602ca0e 100644
--- a/drivers/gdisp/HX8347D/gdisp_lld_config.h
+++ b/drivers/gdisp/HX8347D/gdisp_lld_config.h
@@ -5,14 +5,6 @@
* http://ugfx.org/license.html
*/
-/**
- * @file drivers/gdisp/HX8347D/gdisp_lld_config.h
- * @brief GDISP Graphic Driver subsystem low level driver header for the HX8347D display.
- *
- * @addtogroup GDISP
- * @{
- */
-
#ifndef _GDISP_LLD_CONFIG_H
#define _GDISP_LLD_CONFIG_H
@@ -30,4 +22,3 @@
#endif /* GFX_USE_GDISP */
#endif /* _GDISP_LLD_CONFIG_H */
-/** @} */
diff --git a/drivers/gdisp/ILI9320/board_ILI9320_template.h b/drivers/gdisp/ILI9320/board_ILI9320_template.h
index 6f5ad16d..a4787730 100644
--- a/drivers/gdisp/ILI9320/board_ILI9320_template.h
+++ b/drivers/gdisp/ILI9320/board_ILI9320_template.h
@@ -5,153 +5,56 @@
* http://ugfx.org/license.html
*/
-/**
- * @file drivers/gdisp/ILI9320/board_ILI9320_template.h
- * @brief GDISP Graphic Driver subsystem board interface for the ILI9320 display.
- *
- * @addtogroup GDISP
- * @{
- */
-
#ifndef GDISP_LLD_BOARD_H
#define GDISP_LLD_BOARD_H
-/**
- * @brief Initialise the board for the display.
- *
- * @param[in] g The GDisplay structure
- *
- * @note Set the g->board member to whatever is appropriate. For multiple
- * displays this might be a pointer to the appropriate register set.
- *
- * @notapi
- */
static inline void init_board(GDisplay *g) {
(void) g;
}
-/**
- * @brief After the initialisation.
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void post_init_board(GDisplay *g) {
(void) g;
}
-/**
- * @brief Set or clear the lcd reset pin.
- *
- * @param[in] g The GDisplay structure
- * @param[in] state TRUE = lcd in reset, FALSE = normal operation
- *
- * @notapi
- */
static inline void setpin_reset(GDisplay *g, bool_t state) {
(void) g;
(void) state;
}
-/**
- * @brief Set the lcd back-light level.
- *
- * @param[in] g The GDisplay structure
- * @param[in] percent 0 to 100%
- *
- * @notapi
- */
static inline void set_backlight(GDisplay *g, uint8_t percent) {
(void) g;
(void) percent;
}
-/**
- * @brief Take exclusive control of the bus
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void acquire_bus(GDisplay *g) {
(void) g;
}
-/**
- * @brief Release exclusive control of the bus
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void release_bus(GDisplay *g) {
(void) g;
}
-/**
- * @brief Send data to the index register.
- *
- * @param[in] g The GDisplay structure
- * @param[in] index The index register to set
- *
- * @notapi
- */
static inline void write_index(GDisplay *g, uint16_t index) {
(void) g;
(void) index;
}
-/**
- * @brief Send data to the lcd.
- *
- * @param[in] g The GDisplay structure
- * @param[in] data The data to send
- *
- * @notapi
- */
static inline void write_data(GDisplay *g, uint16_t data) {
(void) g;
(void) data;
}
-/**
- * @brief Set the bus in read mode
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void setreadmode(GDisplay *g) {
(void) g;
}
-/**
- * @brief Set the bus back into write mode
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void setwritemode(GDisplay *g) {
(void) g;
}
-/**
- * @brief Read data from the lcd.
- * @return The data from the lcd
- *
- * @param[in] g The GDisplay structure
- *
- * @note The chip select may need to be asserted/de-asserted
- * around the actual spi read
- *
- * @notapi
- */
static inline uint16_t read_data(GDisplay *g) {
(void) g;
return 0;
}
#endif /* GDISP_LLD_BOARD_H */
-/** @} */
diff --git a/drivers/gdisp/ILI9320/gdisp_lld_ILI9320.c b/drivers/gdisp/ILI9320/gdisp_lld_ILI9320.c
index ab0cc0ce..87f29390 100644
--- a/drivers/gdisp/ILI9320/gdisp_lld_ILI9320.c
+++ b/drivers/gdisp/ILI9320/gdisp_lld_ILI9320.c
@@ -5,11 +5,6 @@
* http://ugfx.org/license.html
*/
-/**
- * @file drivers/gdisp/ILI9320/gdisp_lld.c
- * @brief GDISP Graphics Driver subsystem low level driver source for the ILI9320 display.
- */
-
#include "gfx.h"
#if GFX_USE_GDISP
@@ -330,7 +325,7 @@ LLDSPEC bool_t gdisp_lld_init(GDisplay *g) {
case GDISP_ROTATE_90:
acquire_bus(g);
- write_reg(g, 0x01, 0x0100);
+ write_reg(g, 0x01, 0x0000);
write_reg(g, 0x03, 0x1030);
write_reg(g, 0x60, 0x2700);
release_bus(g);
@@ -352,7 +347,7 @@ LLDSPEC bool_t gdisp_lld_init(GDisplay *g) {
case GDISP_ROTATE_270:
acquire_bus(g);
- write_reg(g, 0x01, 0x0000);
+ write_reg(g, 0x01, 0x0100);
write_reg(g, 0x03, 0x1038);
write_reg(g, 0x60, 0xA700);
release_bus(g);
diff --git a/drivers/gdisp/ILI9320/gdisp_lld_config.h b/drivers/gdisp/ILI9320/gdisp_lld_config.h
index 5709de50..04834079 100644
--- a/drivers/gdisp/ILI9320/gdisp_lld_config.h
+++ b/drivers/gdisp/ILI9320/gdisp_lld_config.h
@@ -5,14 +5,6 @@
* http://ugfx.org/license.html
*/
-/**
- * @file drivers/gdisp/ILI9320/gdisp_lld_config.h
- * @brief GDISP Graphic Driver subsystem low level driver header for the ILI9320 display.
- *
- * @addtogroup GDISP
- * @{
- */
-
#ifndef GDISP_LLD_CONFIG_H
#define GDISP_LLD_CONFIG_H
@@ -32,5 +24,3 @@
#endif /* GFX_USE_GDISP */
#endif /* _GDISP_LLD_CONFIG_H */
-/** @} */
-
diff --git a/drivers/gdisp/ILI9325/board_ILI9325_template.h b/drivers/gdisp/ILI9325/board_ILI9325_template.h
index 07c2fdee..a4787730 100644
--- a/drivers/gdisp/ILI9325/board_ILI9325_template.h
+++ b/drivers/gdisp/ILI9325/board_ILI9325_template.h
@@ -5,151 +5,56 @@
* http://ugfx.org/license.html
*/
-/**
- * @file drivers/gdisp/ILI9325/board_ILI9325_template.h
- * @brief GDISP Graphic Driver subsystem board interface for the ILI9325 display.
- *
- * @addtogroup GDISP
- * @{
- */
-
#ifndef GDISP_LLD_BOARD_H
#define GDISP_LLD_BOARD_H
-/**
- * @brief Initialise the board for the display.
- *
- * @param[in] g The GDisplay structure
- *
- * @note Set the g->board member to whatever is appropriate. For multiple
- * displays this might be a pointer to the appropriate register set.
- *
- * @notapi
- */
static inline void init_board(GDisplay *g) {
(void) g;
}
-/**
- * @brief After the initialisation.
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void post_init_board(GDisplay *g) {
(void) g;
}
-/**
- * @brief Set or clear the lcd reset pin.
- *
- * @param[in] g The GDisplay structure
- * @param[in] state TRUE = lcd in reset, FALSE = normal operation
- *
- * @notapi
- */
static inline void setpin_reset(GDisplay *g, bool_t state) {
(void) g;
(void) state;
}
-/**
- * @brief Set the lcd back-light level.
- *
- * @param[in] g The GDisplay structure
- * @param[in] percent 0 to 100%
- *
- * @notapi
- */
static inline void set_backlight(GDisplay *g, uint8_t percent) {
(void) g;
(void) percent;
}
-/**
- * @brief Take exclusive control of the bus
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void acquire_bus(GDisplay *g) {
(void) g;
}
-/**
- * @brief Release exclusive control of the bus
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void release_bus(GDisplay *g) {
(void) g;
}
-/**
- * @brief Send data to the index register.
- *
- * @param[in] g The GDisplay structure
- * @param[in] index The index register to set
- *
- * @notapi
- */
static inline void write_index(GDisplay *g, uint16_t index) {
(void) g;
(void) index;
}
-/**
- * @brief Send data to the lcd.
- *
- * @param[in] g The GDisplay structure
- * @param[in] data The data to send
- *
- * @notapi
- */
static inline void write_data(GDisplay *g, uint16_t data) {
(void) g;
(void) data;
}
-/**
- * @brief Set the bus in read mode
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void setreadmode(GDisplay *g) {
(void) g;
}
-/**
- * @brief Set the bus back into write mode
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void setwritemode(GDisplay *g) {
(void) g;
}
-/**
- * @brief Read data from the lcd.
- * @return The data from the lcd
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline uint16_t read_data(GDisplay *g) {
(void) g;
return 0;
}
#endif /* GDISP_LLD_BOARD_H */
-/** @} */
-
diff --git a/drivers/gdisp/ILI9325/gdisp_lld_ILI9325.c b/drivers/gdisp/ILI9325/gdisp_lld_ILI9325.c
index e2900514..118e5933 100644
--- a/drivers/gdisp/ILI9325/gdisp_lld_ILI9325.c
+++ b/drivers/gdisp/ILI9325/gdisp_lld_ILI9325.c
@@ -5,11 +5,6 @@
* http://ugfx.org/license.html
*/
-/**
- * @file drivers/gdisp/ILI9325/gdisp_lld.c
- * @brief GDISP Graphics Driver subsystem low level driver source for the ILI9325 display.
- */
-
#include "gfx.h"
#if GFX_USE_GDISP /*|| defined(__DOXYGEN__)*/
diff --git a/drivers/gdisp/ILI9325/gdisp_lld_config.h b/drivers/gdisp/ILI9325/gdisp_lld_config.h
index c40bd2b7..95bd2937 100644
--- a/drivers/gdisp/ILI9325/gdisp_lld_config.h
+++ b/drivers/gdisp/ILI9325/gdisp_lld_config.h
@@ -5,14 +5,6 @@
* http://ugfx.org/license.html
*/
-/**
- * @file drivers/gdisp/ILI9325/gdisp_lld_config.h
- * @brief GDISP Graphic Driver subsystem low level driver header for the ILI9325 display.
- *
- * @addtogroup GDISP
- * @{
- */
-
#ifndef GDISP_LLD_CONFIG_H
#define GDISP_LLD_CONFIG_H
@@ -32,5 +24,3 @@
#endif /* GFX_USE_GDISP */
#endif /* _GDISP_LLD_CONFIG_H */
-/** @} */
-
diff --git a/drivers/gdisp/ILI9341/board_ILI9341_template.h b/drivers/gdisp/ILI9341/board_ILI9341_template.h
index b8f55dc1..c4057b1f 100644
--- a/drivers/gdisp/ILI9341/board_ILI9341_template.h
+++ b/drivers/gdisp/ILI9341/board_ILI9341_template.h
@@ -5,150 +5,56 @@
* http://ugfx.org/license.html
*/
-/**
- * @file drivers/gdisp/ILI9341/board_ILI9341_template.h
- * @brief GDISP Graphic Driver subsystem board interface for the ILI9341 display.
- *
- * @addtogroup GDISP
- * @{
- */
-
#ifndef _GDISP_LLD_BOARD_H
#define _GDISP_LLD_BOARD_H
-/**
- * @brief Initialise the board for the display.
- *
- * @param[in] g The GDisplay structure
- *
- * @note Set the g->board member to whatever is appropriate. For multiple
- * displays this might be a pointer to the appropriate register set.
- *
- * @notapi
- */
static inline void init_board(GDisplay *g) {
(void) g;
}
-/**
- * @brief After the initialisation.
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void post_init_board(GDisplay *g) {
(void) g;
}
-/**
- * @brief Set or clear the lcd reset pin.
- *
- * @param[in] g The GDisplay structure
- * @param[in] state TRUE = lcd in reset, FALSE = normal operation
- *
- * @notapi
- */
static inline void setpin_reset(GDisplay *g, bool_t state) {
(void) g;
(void) state;
}
-/**
- * @brief Set the lcd back-light level.
- *
- * @param[in] g The GDisplay structure
- * @param[in] percent 0 to 100%
- *
- * @notapi
- */
static inline void set_backlight(GDisplay *g, uint8_t percent) {
(void) g;
(void) percent;
}
-/**
- * @brief Take exclusive control of the bus
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void acquire_bus(GDisplay *g) {
(void) g;
}
-/**
- * @brief Release exclusive control of the bus
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void release_bus(GDisplay *g) {
(void) g;
}
-/**
- * @brief Send data to the index register.
- *
- * @param[in] g The GDisplay structure
- * @param[in] index The index register to set
- *
- * @notapi
- */
static inline void write_index(GDisplay *g, uint16_t index) {
(void) g;
(void) index;
}
-/**
- * @brief Send data to the lcd.
- *
- * @param[in] g The GDisplay structure
- * @param[in] data The data to send
- *
- * @notapi
- */
static inline void write_data(GDisplay *g, uint16_t data) {
(void) g;
(void) data;
}
-/**
- * @brief Set the bus in read mode
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void setreadmode(GDisplay *g) {
(void) g;
}
-/**
- * @brief Set the bus back into write mode
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void setwritemode(GDisplay *g) {
(void) g;
}
-/**
- * @brief Read data from the lcd.
- * @return The data from the lcd
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline uint16_t read_data(GDisplay *g) {
(void) g;
return 0;
}
#endif /* _GDISP_LLD_BOARD_H */
-/** @} */
diff --git a/drivers/gdisp/ILI9341/gdisp_lld_ILI9341.c b/drivers/gdisp/ILI9341/gdisp_lld_ILI9341.c
index d6679714..f27605a7 100644
--- a/drivers/gdisp/ILI9341/gdisp_lld_ILI9341.c
+++ b/drivers/gdisp/ILI9341/gdisp_lld_ILI9341.c
@@ -5,12 +5,6 @@
* http://ugfx.org/license.html
*/
-/**
- * @file drivers/gdisp/ILI9341/gdisp_lld.c
- * @brief GDISP Graphics Driver subsystem low level driver source for
- * the ILI9341 and compatible HVGA display
- */
-
#include "gfx.h"
#if GFX_USE_GDISP
diff --git a/drivers/gdisp/ILI9341/gdisp_lld_config.h b/drivers/gdisp/ILI9341/gdisp_lld_config.h
index 668a06c9..d3625d70 100644
--- a/drivers/gdisp/ILI9341/gdisp_lld_config.h
+++ b/drivers/gdisp/ILI9341/gdisp_lld_config.h
@@ -5,15 +5,6 @@
* http://ugfx.org/license.html
*/
-/**
- * @file drivers/gdisp/ILI9481/gdisp_lld_config.h
- * @brief GDISP Graphics Driver subsystem low level driver source for
- * the ILI9481 and compatible HVGA display
- *
- * @addtogroup GDISP
- * @{
- */
-
#ifndef _GDISP_LLD_CONFIG_H
#define _GDISP_LLD_CONFIG_H
@@ -32,4 +23,3 @@
#endif /* GFX_USE_GDISP */
#endif /* _GDISP_LLD_CONFIG_H */
-/** @} */
diff --git a/drivers/gdisp/ILI9481/board_ILI9481_template.h b/drivers/gdisp/ILI9481/board_ILI9481_template.h
index 7824c936..c4057b1f 100644
--- a/drivers/gdisp/ILI9481/board_ILI9481_template.h
+++ b/drivers/gdisp/ILI9481/board_ILI9481_template.h
@@ -5,151 +5,56 @@
* http://ugfx.org/license.html
*/
-/**
- * @file drivers/gdisp/ILI9481/board_ILI9481_template.h
- * @brief GDISP Graphics Driver subsystem low level driver source for
- * the ILI9481 and compatible HVGA display
- *
- * @addtogroup GDISP
- * @{
- */
-
#ifndef _GDISP_LLD_BOARD_H
#define _GDISP_LLD_BOARD_H
-/**
- * @brief Initialise the board for the display.
- *
- * @param[in] g The GDisplay structure
- *
- * @note Set the g->board member to whatever is appropriate. For multiple
- * displays this might be a pointer to the appropriate register set.
- *
- * @notapi
- */
static inline void init_board(GDisplay *g) {
(void) g;
}
-/**
- * @brief After the initialisation.
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void post_init_board(GDisplay *g) {
(void) g;
}
-/**
- * @brief Set or clear the lcd reset pin.
- *
- * @param[in] g The GDisplay structure
- * @param[in] state TRUE = lcd in reset, FALSE = normal operation
- *
- * @notapi
- */
static inline void setpin_reset(GDisplay *g, bool_t state) {
(void) g;
(void) state;
}
-/**
- * @brief Set the lcd back-light level.
- *
- * @param[in] g The GDisplay structure
- * @param[in] percent 0 to 100%
- *
- * @notapi
- */
static inline void set_backlight(GDisplay *g, uint8_t percent) {
(void) g;
(void) percent;
}
-/**
- * @brief Take exclusive control of the bus
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void acquire_bus(GDisplay *g) {
(void) g;
}
-/**
- * @brief Release exclusive control of the bus
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void release_bus(GDisplay *g) {
(void) g;
}
-/**
- * @brief Send data to the index register.
- *
- * @param[in] g The GDisplay structure
- * @param[in] index The index register to set
- *
- * @notapi
- */
static inline void write_index(GDisplay *g, uint16_t index) {
(void) g;
(void) index;
}
-/**
- * @brief Send data to the lcd.
- *
- * @param[in] g The GDisplay structure
- * @param[in] data The data to send
- *
- * @notapi
- */
static inline void write_data(GDisplay *g, uint16_t data) {
(void) g;
(void) data;
}
-/**
- * @brief Set the bus in read mode
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void setreadmode(GDisplay *g) {
(void) g;
}
-/**
- * @brief Set the bus back into write mode
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void setwritemode(GDisplay *g) {
(void) g;
}
-/**
- * @brief Read data from the lcd.
- * @return The data from the lcd
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline uint16_t read_data(GDisplay *g) {
(void) g;
return 0;
}
#endif /* _GDISP_LLD_BOARD_H */
-/** @} */
diff --git a/drivers/gdisp/ILI9481/gdisp_lld_ILI9481.c b/drivers/gdisp/ILI9481/gdisp_lld_ILI9481.c
index 748ee469..f0bc7355 100644
--- a/drivers/gdisp/ILI9481/gdisp_lld_ILI9481.c
+++ b/drivers/gdisp/ILI9481/gdisp_lld_ILI9481.c
@@ -5,12 +5,6 @@
* http://ugfx.org/license.html
*/
-/**
- * @file drivers/gdisp/ILI9481/gdisp_lld.c
- * @brief GDISP Graphics Driver subsystem low level driver source for
- * the ILI9481 and compatible HVGA display
- */
-
#include "gfx.h"
#if GFX_USE_GDISP
@@ -325,4 +319,3 @@ LLDSPEC bool_t gdisp_lld_init(GDisplay *g) {
#endif
#endif /* GFX_USE_GDISP */
-/** @} */
diff --git a/drivers/gdisp/ILI9481/gdisp_lld_config.h b/drivers/gdisp/ILI9481/gdisp_lld_config.h
index 3f3a4834..ba48718a 100644
--- a/drivers/gdisp/ILI9481/gdisp_lld_config.h
+++ b/drivers/gdisp/ILI9481/gdisp_lld_config.h
@@ -5,15 +5,6 @@
* http://ugfx.org/license.html
*/
-/**
- * @file drivers/gdisp/ILI9481/gdisp_lld_config.h
- * @brief GDISP Graphics Driver subsystem low level driver source for
- * the ILI9481 and compatible HVGA display
- *
- * @addtogroup GDISP
- * @{
- */
-
#ifndef _GDISP_LLD_CONFIG_H
#define _GDISP_LLD_CONFIG_H
@@ -32,4 +23,3 @@
#endif /* GFX_USE_GDISP */
#endif /* _GDISP_LLD_CONFIG_H */
-/** @} */
diff --git a/drivers/gdisp/LGD4532/board_LGD4532_template.h b/drivers/gdisp/LGD4532/board_LGD4532_template.h
new file mode 100644
index 00000000..ca89cdc1
--- /dev/null
+++ b/drivers/gdisp/LGD4532/board_LGD4532_template.h
@@ -0,0 +1,71 @@
+/*
+ * This file is subject to the terms of the GFX License. If a copy of
+ * the license was not distributed with this file, you can obtain one at:
+ *
+ * http://ugfx.org/license.html
+ */
+
+#ifndef GDISP_LLD_BOARD_H
+#define GDISP_LLD_BOARD_H
+
+static inline void init_board(GDisplay *g)
+{
+ (void) g;
+}
+
+static inline void post_init_board(GDisplay *g)
+{
+ (void) g;
+}
+
+static inline void setpin_reset(GDisplay *g, bool_t state)
+{
+ (void) g;
+ (void) state;
+}
+
+static inline void set_backlight(GDisplay *g, uint8_t percent)
+{
+ (void) g;
+ (void) percent;
+}
+
+static inline void acquire_bus(GDisplay *g)
+{
+ (void) g;
+}
+
+static inline void release_bus(GDisplay *g)
+{
+ (void) g;
+}
+
+static inline void write_index(GDisplay *g, uint16_t index)
+{
+ (void) g;
+ (void) index;
+}
+
+static inline void write_data(GDisplay *g, uint16_t data)
+{
+ (void) g;
+ (void) data;
+}
+
+static inline void setreadmode(GDisplay *g)
+{
+ (void) g;
+}
+
+static inline void setwritemode(GDisplay *g)
+{
+ (void) g;
+}
+
+static inline uint16_t read_data(GDisplay *g)
+{
+ (void) g;
+ return 0;
+}
+
+#endif /* GDISP_LLD_BOARD_H */
diff --git a/drivers/gdisp/LGD4532/gdisp_lld.mk b/drivers/gdisp/LGD4532/gdisp_lld.mk
new file mode 100644
index 00000000..8323b891
--- /dev/null
+++ b/drivers/gdisp/LGD4532/gdisp_lld.mk
@@ -0,0 +1,2 @@
+GFXINC += $(GFXLIB)/drivers/gdisp/LGD4532
+GFXSRC += $(GFXLIB)/drivers/gdisp/LGD4532/gdisp_lld_LGD4532.c
diff --git a/drivers/gdisp/LGD4532/gdisp_lld_LGD4532.c b/drivers/gdisp/LGD4532/gdisp_lld_LGD4532.c
new file mode 100644
index 00000000..1cd58f16
--- /dev/null
+++ b/drivers/gdisp/LGD4532/gdisp_lld_LGD4532.c
@@ -0,0 +1,359 @@
+/*
+ * This file is subject to the terms of the GFX License. If a copy of
+ * the license was not distributed with this file, you can obtain one at:
+ *
+ * http://ugfx.org/license.html
+ */
+
+#include "gfx.h"
+
+#if GFX_USE_GDISP
+
+/* This controller is only ever used with a 240 x 320 display */
+#if defined(GDISP_SCREEN_HEIGHT)
+ #warning "GDISP: This low level driver does not support setting a screen size. It is being ignored."
+ #undef GDISP_SCREEN_HEIGHT
+#endif
+#if defined(GDISP_SCREEN_WIDTH)
+ #warning "GDISP: This low level driver does not support setting a screen size. It is being ignored."
+ #undef GDISP_SCREEN_WIDTH
+#endif
+
+#define GDISP_DRIVER_VMT GDISPVMT_LGD4532
+#include "gdisp_lld_config.h"
+#include "src/gdisp/driver.h"
+
+#include "board_LGD4532.h"
+
+/*===========================================================================*/
+/* Driver local definitions. */
+/*===========================================================================*/
+
+#ifndef GDISP_SCREEN_HEIGHT
+ #define GDISP_SCREEN_HEIGHT 320
+#endif
+#ifndef GDISP_SCREEN_WIDTH
+ #define GDISP_SCREEN_WIDTH 240
+#endif
+#ifndef GDISP_INITIAL_CONTRAST
+ #define GDISP_INITIAL_CONTRAST 50
+#endif
+#ifndef GDISP_INITIAL_BACKLIGHT
+ #define GDISP_INITIAL_BACKLIGHT 100
+#endif
+
+/*===========================================================================*/
+/* Driver local variables. */
+/*===========================================================================*/
+
+/*===========================================================================*/
+/* Driver local functions. */
+/*===========================================================================*/
+
+// Some common routines and macros
+#define dummy_read(g) { volatile uint16_t dummy; dummy = read_data(g); (void) dummy; }
+#define write_reg(g, reg, data) { write_index(g, reg); write_data(g, data); }
+
+static void set_cursor(GDisplay *g) {
+ switch(g->g.Orientation) {
+ default:
+ case GDISP_ROTATE_0:
+ case GDISP_ROTATE_180:
+ write_reg(g, 0x20, g->p.x);
+ write_reg(g, 0x21, g->p.y);
+ break;
+
+ case GDISP_ROTATE_90:
+ case GDISP_ROTATE_270:
+ write_reg(g, 0x20, g->p.y);
+ write_reg(g, 0x21, g->p.x);
+ break;
+ }
+ write_index(g, 0x22);
+}
+
+static void set_viewport(GDisplay* g) {
+ switch(g->g.Orientation) {
+ default:
+ case GDISP_ROTATE_0:
+ case GDISP_ROTATE_180:
+ write_reg(g, 0x50, g->p.x);
+ write_reg(g, 0x51, g->p.x + g->p.cx - 1);
+ write_reg(g, 0x52, g->p.y);
+ write_reg(g, 0x53, g->p.y + g->p.cy - 1);
+ break;
+
+ case GDISP_ROTATE_90:
+ case GDISP_ROTATE_270:
+ write_reg(g, 0x50, g->p.y);
+ write_reg(g, 0x51, g->p.y + g->p.cy - 1);
+ write_reg(g, 0x52, g->p.x);
+ write_reg(g, 0x53, g->p.x + g->p.cx - 1);
+ break;
+ }
+}
+
+LLDSPEC bool_t gdisp_lld_init(GDisplay *g) {
+ // No private area for this controller
+ g->priv = 0;
+
+ // Initialise the board interface
+ init_board(g);
+
+ /* Hardware reset */
+ setpin_reset(g, TRUE);
+ gfxSleepMilliseconds(1);
+ setpin_reset(g, FALSE);
+ gfxSleepMilliseconds(2);
+
+ acquire_bus(g);
+ setwritemode(g);
+
+ // chinese code starts here
+ //############# void Power_Set(void) ################//
+ write_reg(g, 0x00, 0x0001);
+ gfxSleepMilliseconds(10);
+
+ write_reg(g, 0x15, 0x0030);
+ write_reg(g, 0x11, 0x0040);
+ write_reg(g, 0x10, 0x1628);
+ write_reg(g, 0x12, 0x0000);
+ write_reg(g, 0x13, 0x104d);
+ gfxSleepMilliseconds(10);
+ write_reg(g, 0x12, 0x0010);
+ gfxSleepMilliseconds(10);
+ write_reg(g, 0x10, 0x2620);
+ write_reg(g, 0x13, 0x344d); //304d
+ gfxSleepMilliseconds(10);
+
+ write_reg(g, 0x01, 0x0100);
+ write_reg(g, 0x02, 0x0300);
+ write_reg(g, 0x03, 0x1038);//0x1030
+ write_reg(g, 0x08, 0x0604);
+ write_reg(g, 0x09, 0x0000);
+ write_reg(g, 0x0A, 0x0008);
+
+ write_reg(g, 0x41, 0x0002);
+ write_reg(g, 0x60, 0xA700);
+ write_reg(g, 0x61, 0x0001);
+ write_reg(g, 0x90, 0x0182);
+ write_reg(g, 0x93, 0x0001);
+ write_reg(g, 0xa3, 0x0010);
+ gfxSleepMilliseconds(10);
+
+ //################# void Gamma_Set(void) ####################//
+ write_reg(g, 0x30, 0x0000);
+ write_reg(g, 0x31, 0x0502);
+ write_reg(g, 0x32, 0x0307);
+ write_reg(g, 0x33, 0x0305);
+ write_reg(g, 0x34, 0x0004);
+ write_reg(g, 0x35, 0x0402);
+ write_reg(g, 0x36, 0x0707);
+ write_reg(g, 0x37, 0x0503);
+ write_reg(g, 0x38, 0x1505);
+ write_reg(g, 0x39, 0x1505);
+ gfxSleepMilliseconds(10);
+
+ //################## void Display_ON(void) ####################//
+ write_reg(g, 0x07, 0x0001);
+ gfxSleepMilliseconds(10);
+ write_reg(g, 0x07, 0x0021);
+ write_reg(g, 0x07, 0x0023);
+ gfxSleepMilliseconds(10);
+ write_reg(g, 0x07, 0x0033);
+ gfxSleepMilliseconds(10);
+ write_reg(g, 0x07, 0x0133);
+ // chinese code ends here
+
+ // Finish Init
+ post_init_board(g);
+
+ // Release the bus
+ release_bus(g);
+
+ // Turn on the backlight
+ set_backlight(g, GDISP_INITIAL_BACKLIGHT);
+
+ /* Initialise the GDISP structure */
+ g->g.Width = GDISP_SCREEN_WIDTH;
+ g->g.Height = GDISP_SCREEN_HEIGHT;
+ g->g.Orientation = GDISP_ROTATE_0;
+ g->g.Powermode = powerOn;
+ g->g.Backlight = GDISP_INITIAL_BACKLIGHT;
+ g->g.Contrast = GDISP_INITIAL_CONTRAST;
+
+ return TRUE;
+}
+
+#if GDISP_HARDWARE_STREAM_WRITE
+ LLDSPEC void gdisp_lld_write_start(GDisplay *g) {
+ acquire_bus(g);
+ set_viewport(g);
+ }
+ LLDSPEC void gdisp_lld_write_color(GDisplay *g) {
+ write_data(g, gdispColor2Native(g->p.color));
+ }
+ LLDSPEC void gdisp_lld_write_stop(GDisplay *g) {
+ release_bus(g);
+ }
+ LLDSPEC void gdisp_lld_write_pos(GDisplay *g) {
+ set_cursor(g);
+ }
+#endif
+
+#if GDISP_HARDWARE_STREAM_READ
+ LLDSPEC void gdisp_lld_read_start(GDisplay *g) {
+ acquire_bus(g);
+ set_viewport(g);
+ set_cursor(g);
+ setreadmode(g);
+ dummy_read(g);
+ }
+ LLDSPEC color_t gdisp_lld_read_color(GDisplay *g) {
+ uint16_t data;
+
+ data = read_data(g);
+ return gdispNative2Color(data);
+ }
+ LLDSPEC void gdisp_lld_read_stop(GDisplay *g) {
+ setwritemode(g);
+ release_bus(g);
+ }
+#endif
+
+#if GDISP_NEED_CONTROL && GDISP_HARDWARE_CONTROL
+ LLDSPEC void gdisp_lld_control(GDisplay *g) {
+ switch(g->p.x) {
+ case GDISP_CONTROL_POWER:
+ if (g->g.Powermode == (powermode_t)g->p.ptr)
+ return;
+ switch((powermode_t)g->p.ptr) {
+ case powerOff:
+ acquire_bus(g);
+ write_reg(g, 0x07, 0x0000);
+ write_reg(g, 0x10, 0x0000);
+ write_reg(g, 0x11, 0x0000);
+ write_reg(g, 0x12, 0x0000);
+ write_reg(g, 0x13, 0x0000);
+ release_bus(g);
+ set_backlight(g, 0);
+ break;
+
+ case powerOn:
+ //*************Power On sequence ******************//
+ acquire_bus(g);
+ write_reg(g, 0x10, 0x0000); /* SAP, BT[3:0], AP, DSTB, SLP, STB */
+ write_reg(g, 0x11, 0x0000); /* DC1[2:0], DC0[2:0], VC[2:0] */
+ write_reg(g, 0x12, 0x0000); /* VREG1OUT voltage */
+ write_reg(g, 0x13, 0x0000); /* VDV[4:0] for VCOM amplitude */
+ gfxSleepMilliseconds(200); /* Dis-charge capacitor power voltage */
+ write_reg(g, 0x10, 0x17B0); /* SAP, BT[3:0], AP, DSTB, SLP, STB */
+ write_reg(g, 0x11, 0x0147); /* DC1[2:0], DC0[2:0], VC[2:0] */
+ gfxSleepMilliseconds(50);
+ write_reg(g, 0x12, 0x013C); /* VREG1OUT voltage */
+ gfxSleepMilliseconds(50);
+ write_reg(g, 0x13, 0x0E00); /* VDV[4:0] for VCOM amplitude */
+ write_reg(g, 0x29, 0x0009); /* VCM[4:0] for VCOMH */
+ gfxSleepMilliseconds(50);
+ write_reg(g, 0x07, 0x0173); /* 262K color and display ON */
+ release_bus(g);
+ set_backlight(g, g->g.Backlight);
+ break;
+
+ case powerSleep:
+ acquire_bus(g);
+ write_reg(g, 0x07, 0x0000); /* display OFF */
+ write_reg(g, 0x10, 0x0000); /* SAP, BT[3:0], APE, AP, DSTB, SLP */
+ write_reg(g, 0x11, 0x0000); /* DC1[2:0], DC0[2:0], VC[2:0] */
+ write_reg(g, 0x12, 0x0000); /* VREG1OUT voltage */
+ write_reg(g, 0x13, 0x0000); /* VDV[4:0] for VCOM amplitude */
+ gfxSleepMilliseconds(200); /* Dis-charge capacitor power voltage */
+ write_reg(g, 0x10, 0x0002); /* SAP, BT[3:0], APE, AP, DSTB, SLP */
+ release_bus(g);
+ set_backlight(g, g->g.Backlight);
+ break;
+
+ case powerDeepSleep:
+ acquire_bus(g);
+ write_reg(g, 0x07, 0x0000); /* display OFF */
+ write_reg(g, 0x10, 0x0000); /* SAP, BT[3:0], APE, AP, DSTB, SLP */
+ write_reg(g, 0x11, 0x0000); /* DC1[2:0], DC0[2:0], VC[2:0] */
+ write_reg(g, 0x12, 0x0000); /* VREG1OUT voltage */
+ write_reg(g, 0x13, 0x0000); /* VDV[4:0] for VCOM amplitude */
+ gfxSleepMilliseconds(200); /* Dis-charge capacitor power voltage */
+ write_reg(g, 0x10, 0x0004); /* SAP, BT[3:0], APE, AP, DSTB, SLP */
+ release_bus(g);
+ set_backlight(g, g->g.Backlight);
+ break;
+
+ default:
+ return;
+ }
+ g->g.Powermode = (powermode_t)g->p.ptr;
+ return;
+
+ case GDISP_CONTROL_ORIENTATION:
+ if (g->g.Orientation == (orientation_t)g->p.ptr)
+ return;
+ switch((orientation_t)g->p.ptr) {
+ case GDISP_ROTATE_0:
+ acquire_bus(g);
+ write_reg(g, 0x01, 0x0100);
+ write_reg(g, 0x03, 0x1030);
+ write_reg(g, 0x60, 0x2700);
+ release_bus(g);
+ g->g.Height = GDISP_SCREEN_HEIGHT;
+ g->g.Width = GDISP_SCREEN_WIDTH;
+ break;
+
+ case GDISP_ROTATE_90:
+ acquire_bus(g);
+ write_reg(g, 0x01, 0x0100);
+ write_reg(g, 0x03, 0x1038);
+ write_reg(g, 0x60, 0xA700);
+ release_bus(g);
+ g->g.Height = GDISP_SCREEN_WIDTH;
+ g->g.Width = GDISP_SCREEN_HEIGHT;
+ break;
+
+ case GDISP_ROTATE_180:
+ acquire_bus(g);
+ write_reg(g, 0x01, 0x0000);
+ write_reg(g, 0x03, 0x1030);
+ write_reg(g, 0x60, 0xa700);
+ release_bus(g);
+ g->g.Height = GDISP_SCREEN_HEIGHT;
+ g->g.Width = GDISP_SCREEN_WIDTH;
+ break;
+
+ case GDISP_ROTATE_270:
+ acquire_bus(g);
+ write_reg(g, 0x01, 0x0000);
+ write_reg(g, 0x03, 0x1038);
+ write_reg(g, 0x60, 0x2700);
+ release_bus(g);
+ g->g.Height = GDISP_SCREEN_WIDTH;
+ g->g.Width = GDISP_SCREEN_HEIGHT;
+ break;
+
+ default:
+ return;
+ }
+
+ g->g.Orientation = (orientation_t)g->p.ptr;
+ return;
+
+ case GDISP_CONTROL_BACKLIGHT:
+ if ((unsigned)g->p.ptr > 100)
+ g->p.ptr = (void *)100;
+ set_backlight(g, (unsigned)g->p.ptr);
+ g->g.Backlight = (unsigned)g->p.ptr;
+ return;
+
+ default:
+ return;
+ }
+ }
+#endif
+
+#endif /* GFX_USE_GDISP */
diff --git a/drivers/gdisp/LGD4532/gdisp_lld_config.h b/drivers/gdisp/LGD4532/gdisp_lld_config.h
new file mode 100644
index 00000000..3f11ecc3
--- /dev/null
+++ b/drivers/gdisp/LGD4532/gdisp_lld_config.h
@@ -0,0 +1,21 @@
+/*
+ * This file is subject to the terms of the GFX License. If a copy of
+ * the license was not distributed with this file, you can obtain one at:
+ *
+ * http://ugfx.org/license.html
+ */
+
+#ifndef GDISP_LLD_CONFIG_H
+#define GDISP_LLD_CONFIG_H
+
+#if GFX_USE_GDISP
+
+#define GDISP_HARDWARE_STREAM_WRITE TRUE
+#define GDISP_HARDWARE_STREAM_READ TRUE
+#define GDISP_HARDWARE_STREAM_POS TRUE
+#define GDISP_HARDWARE_CONTROL TRUE
+
+#define GDISP_LLD_PIXELFORMAT GDISP_PIXELFORMAT_RGB565
+
+#endif /* GFX_USE_GDISP */
+#endif /* _GDISP_LLD_CONFIG_H */
diff --git a/drivers/gdisp/Nokia6610GE12/board_Nokia6610GE12_template.h b/drivers/gdisp/Nokia6610GE12/board_Nokia6610GE12_template.h
index 160c9278..0545fcd5 100644
--- a/drivers/gdisp/Nokia6610GE12/board_Nokia6610GE12_template.h
+++ b/drivers/gdisp/Nokia6610GE12/board_Nokia6610GE12_template.h
@@ -5,14 +5,6 @@
* http://ugfx.org/license.html
*/
-/**
- * @file drivers/gdisp/Nokia6610GE12/board_Nokia6610GE12_template.h
- * @brief GDISP Graphic Driver subsystem board interface for the Nokia6610 GE12 display.
- *
- * @addtogroup GDISP
- * @{
- */
-
#ifndef _GDISP_LLD_BOARD_H
#define _GDISP_LLD_BOARD_H
@@ -28,104 +20,40 @@
//#define GDISP_INITIAL_CONTRAST 50 // The initial contrast percentage
//#define GDISP_INITIAL_BACKLIGHT 100 // The initial backlight percentage
-/**
- * @brief Initialise the board for the display.
- *
- * @param[in] g The GDisplay structure
- *
- * @note Set the g->board member to whatever is appropriate. For multiple
- * displays this might be a pointer to the appropriate register set.
- *
- * @notapi
- */
static inline void init_board(GDisplay *g) {
(void) g;
}
-/**
- * @brief After the initialisation.
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void post_init_board(GDisplay *g) {
(void) g;
}
-/**
- * @brief Set or clear the lcd reset pin.
- *
- * @param[in] g The GDisplay structure
- * @param[in] state TRUE = lcd in reset, FALSE = normal operation
- *
- * @notapi
- */
static inline void setpin_reset(GDisplay *g, bool_t state) {
(void) g;
(void) state;
}
-/**
- * @brief Set the lcd back-light level.
- *
- * @param[in] g The GDisplay structure
- * @param[in] percent 0 to 100%
- *
- * @notapi
- */
static inline void set_backlight(GDisplay *g, uint8_t percent) {
(void) g;
(void) percent;
}
-/**
- * @brief Take exclusive control of the bus
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void acquire_bus(GDisplay *g) {
(void) g;
}
-/**
- * @brief Release exclusive control of the bus
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void release_bus(GDisplay *g) {
(void) g;
}
-/**
- * @brief Send data to the index register.
- *
- * @param[in] g The GDisplay structure
- * @param[in] index The index register to set
- *
- * @notapi
- */
static inline void write_index(GDisplay *g, uint16_t index) {
(void) g;
(void) index;
}
-/**
- * @brief Send data to the lcd.
- *
- * @param[in] g The GDisplay structure
- * @param[in] data The data to send
- *
- * @notapi
- */
static inline void write_data(GDisplay *g, uint16_t data) {
(void) g;
(void) data;
}
#endif /* _GDISP_LLD_BOARD_H */
-/** @} */
diff --git a/drivers/gdisp/Nokia6610GE12/gdisp_lld_Nokia6610GE12.c b/drivers/gdisp/Nokia6610GE12/gdisp_lld_Nokia6610GE12.c
index f0603ca8..c6aa2a7c 100644
--- a/drivers/gdisp/Nokia6610GE12/gdisp_lld_Nokia6610GE12.c
+++ b/drivers/gdisp/Nokia6610GE12/gdisp_lld_Nokia6610GE12.c
@@ -5,11 +5,6 @@
* http://ugfx.org/license.html
*/
-/**
- * @file drivers/gdisp/Nokia6610GE12/gdisp_lld.c
- * @brief GDISP Graphics Driver subsystem low level driver source for the Nokia6610 GE12 display.
- */
-
#include "gfx.h"
#if GFX_USE_GDISP
diff --git a/drivers/gdisp/Nokia6610GE12/gdisp_lld_config.h b/drivers/gdisp/Nokia6610GE12/gdisp_lld_config.h
index 19a455d8..3f29f611 100644
--- a/drivers/gdisp/Nokia6610GE12/gdisp_lld_config.h
+++ b/drivers/gdisp/Nokia6610GE12/gdisp_lld_config.h
@@ -5,14 +5,6 @@
* http://ugfx.org/license.html
*/
-/**
- * @file drivers/gdisp/Nokia6610GE12/gdisp_lld_config.h
- * @brief GDISP Graphic Driver subsystem low level driver header for the Nokia6610 GE12 display.
- *
- * @addtogroup GDISP
- * @{
- */
-
#ifndef _GDISP_LLD_CONFIG_H
#define _GDISP_LLD_CONFIG_H
@@ -30,4 +22,3 @@
#endif /* GFX_USE_GDISP */
#endif /* _GDISP_LLD_CONFIG_H */
-/** @} */
diff --git a/drivers/gdisp/Nokia6610GE8/board_Nokia6610GE8_template.h b/drivers/gdisp/Nokia6610GE8/board_Nokia6610GE8_template.h
index 28fc9f70..0545fcd5 100644
--- a/drivers/gdisp/Nokia6610GE8/board_Nokia6610GE8_template.h
+++ b/drivers/gdisp/Nokia6610GE8/board_Nokia6610GE8_template.h
@@ -5,14 +5,6 @@
* http://ugfx.org/license.html
*/
-/**
- * @file drivers/gdisp/Nokia6610GE8/board_Nokia6610GE8_template.h
- * @brief GDISP Graphic Driver subsystem board interface for the Nokia6610 GE12 display.
- *
- * @addtogroup GDISP
- * @{
- */
-
#ifndef _GDISP_LLD_BOARD_H
#define _GDISP_LLD_BOARD_H
@@ -28,104 +20,40 @@
//#define GDISP_INITIAL_CONTRAST 50 // The initial contrast percentage
//#define GDISP_INITIAL_BACKLIGHT 100 // The initial backlight percentage
-/**
- * @brief Initialise the board for the display.
- *
- * @param[in] g The GDisplay structure
- *
- * @note Set the g->board member to whatever is appropriate. For multiple
- * displays this might be a pointer to the appropriate register set.
- *
- * @notapi
- */
static inline void init_board(GDisplay *g) {
(void) g;
}
-/**
- * @brief After the initialisation.
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void post_init_board(GDisplay *g) {
(void) g;
}
-/**
- * @brief Set or clear the lcd reset pin.
- *
- * @param[in] g The GDisplay structure
- * @param[in] state TRUE = lcd in reset, FALSE = normal operation
- *
- * @notapi
- */
static inline void setpin_reset(GDisplay *g, bool_t state) {
(void) g;
(void) state;
}
-/**
- * @brief Set the lcd back-light level.
- *
- * @param[in] g The GDisplay structure
- * @param[in] percent 0 to 100%
- *
- * @notapi
- */
static inline void set_backlight(GDisplay *g, uint8_t percent) {
(void) g;
(void) percent;
}
-/**
- * @brief Take exclusive control of the bus
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void acquire_bus(GDisplay *g) {
(void) g;
}
-/**
- * @brief Release exclusive control of the bus
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void release_bus(GDisplay *g) {
(void) g;
}
-/**
- * @brief Send data to the index register.
- *
- * @param[in] g The GDisplay structure
- * @param[in] index The index register to set
- *
- * @notapi
- */
static inline void write_index(GDisplay *g, uint16_t index) {
(void) g;
(void) index;
}
-/**
- * @brief Send data to the lcd.
- *
- * @param[in] g The GDisplay structure
- * @param[in] data The data to send
- *
- * @notapi
- */
static inline void write_data(GDisplay *g, uint16_t data) {
(void) g;
(void) data;
}
#endif /* _GDISP_LLD_BOARD_H */
-/** @} */
diff --git a/drivers/gdisp/Nokia6610GE8/gdisp_lld_Nokia6610GE8.c b/drivers/gdisp/Nokia6610GE8/gdisp_lld_Nokia6610GE8.c
index 0e2c7e4e..cd265e00 100644
--- a/drivers/gdisp/Nokia6610GE8/gdisp_lld_Nokia6610GE8.c
+++ b/drivers/gdisp/Nokia6610GE8/gdisp_lld_Nokia6610GE8.c
@@ -5,19 +5,11 @@
* http://ugfx.org/license.html
*/
-/**
- * @file drivers/gdisp/Nokia6610GE8/gdisp_lld.c
- * @brief GDISP Graphics Driver subsystem low level driver source for the Nokia6610 GE8 display.
- *
- * @addtogroup GDISP
- * @{
- */
-
#include "gfx.h"
#if GFX_USE_GDISP
-/**
+/*
* This is for the EPSON (GE8) controller driving a Nokia6610 color LCD display.
* Note that there is also a PHILIPS (GE12) controller for the same display that this code
* does not support.
@@ -136,25 +128,55 @@
#define write_cmd3(g, cmd, d1, d2, d3) { write_index(g, cmd); write_data3(g, d1, d2, d3); }
#define write_cmd4(g, cmd, d1, d2, d3, d4) { write_index(g, cmd); write_data4(g, d1, d2, d3, d4); }
+#if GDISP_HARDWARE_DRAWPIXEL
+ static inline void set_viewpoint(GDisplay* g) {
+ #if GDISP_NOKIA_ORIENTATION && GDISP_NEED_CONTROL
+ switch(g->g.Orientation) {
+ default:
+ case GDISP_ROTATE_0:
+ write_cmd2(g, CASET, GDISP_RAM_X_OFFSET+g->p.x, GDISP_RAM_X_OFFSET+g->p.x); // Column address set
+ write_cmd2(g, PASET, GDISP_RAM_Y_OFFSET+g->p.y, GDISP_RAM_Y_OFFSET+g->p.y); // Page address set
+ break;
+ case GDISP_ROTATE_90:
+ write_cmd2(g, CASET, GDISP_RAM_X_OFFSET+g->p.y, GDISP_RAM_X_OFFSET+g->p.y);
+ write_cmd2(g, PASET, GDISP_RAM_Y_OFFSET-1+g->g.Width-g->p.x, GDISP_RAM_Y_OFFSET-1+g->g.Width-g->p.x);
+ break;
+ case GDISP_ROTATE_180:
+ write_cmd2(g, CASET, GDISP_RAM_X_OFFSET-1+g->g.Width-g->p.x, GDISP_RAM_X_OFFSET-1+g->g.Width-g->p.x);
+ write_cmd2(g, PASET, GDISP_RAM_Y_OFFSET-1+g->g.Height-g->p.y, GDISP_RAM_Y_OFFSET-1+g->g.Height-g->p.y);
+ break;
+ case GDISP_ROTATE_270:
+ write_cmd2(g, CASET, GDISP_RAM_X_OFFSET-1+g->g.Height-g->p.y, GDISP_RAM_X_OFFSET-1+g->g.Height-g->p.y);
+ write_cmd2(g, PASET, GDISP_RAM_Y_OFFSET+g->p.x, GDISP_RAM_Y_OFFSET+g->p.x);
+ break;
+ }
+ #else
+ write_cmd2(g, CASET, GDISP_RAM_X_OFFSET+g->p.x, GDISP_RAM_X_OFFSET+g->p.x); // Column address set
+ write_cmd2(g, PASET, GDISP_RAM_Y_OFFSET+g->p.y, GDISP_RAM_Y_OFFSET+g->p.y); // Page address set
+ #endif
+ write_index(g, RAMWR);
+ }
+#endif
+
static inline void set_viewport(GDisplay* g) {
#if GDISP_NOKIA_ORIENTATION && GDISP_NEED_CONTROL
switch(g->g.Orientation) {
default:
case GDISP_ROTATE_0:
- write_cmd2(g, CASET, GDISP_RAM_X_OFFSET+g->p.x, GDISP_RAM_X_OFFSET+g->p.x); // Column address set
- write_cmd2(g, PASET, GDISP_RAM_Y_OFFSET+g->p.y, GDISP_RAM_Y_OFFSET+g->p.y); // Page address set
+ write_cmd2(g, CASET, GDISP_RAM_X_OFFSET+g->p.x, GDISP_RAM_X_OFFSET+g->p.x+g->p.cx-1); // Column address set
+ write_cmd2(g, PASET, GDISP_RAM_Y_OFFSET+g->p.y, GDISP_RAM_Y_OFFSET+g->p.y+g->p.cy-1); // Page address set
break;
case GDISP_ROTATE_90:
- write_cmd2(g, CASET, GDISP_RAM_X_OFFSET+g->p.y, GDISP_RAM_X_OFFSET+g->p.y);
- write_cmd2(g, PASET, GDISP_RAM_Y_OFFSET-1+g->g.Width-g->p.x, GDISP_RAM_Y_OFFSET-1+g->g.Width-g->p.x);
+ write_cmd2(g, CASET, GDISP_RAM_X_OFFSET+g->p.y, GDISP_RAM_X_OFFSET+g->p.y+g->p.cy-1);
+ write_cmd2(g, PASET, GDISP_RAM_Y_OFFSET+g->g.Width-g->p.x-g->p.cx, GDISP_RAM_Y_OFFSET-1+g->g.Width-g->p.x);
break;
case GDISP_ROTATE_180:
- write_cmd2(g, CASET, GDISP_RAM_X_OFFSET-1+g->g.Width-g->p.x, GDISP_RAM_X_OFFSET-1+g->g.Width-g->p.x);
- write_cmd2(g, PASET, GDISP_RAM_Y_OFFSET-1+g->g.Height-g->p.y, GDISP_RAM_Y_OFFSET-1+g->g.Height-g->p.y);
+ write_cmd2(g, CASET, GDISP_RAM_X_OFFSET+g->g.Width-g->p.x-g->p.cx, GDISP_RAM_X_OFFSET-1+g->g.Width-g->p.x);
+ write_cmd2(g, PASET, GDISP_RAM_Y_OFFSET+g->g.Height-g->p.y-g->p.cy, GDISP_RAM_Y_OFFSET-1+g->g.Height-g->p.y);
break;
case GDISP_ROTATE_270:
- write_cmd2(g, CASET, GDISP_RAM_X_OFFSET-1+g->g.Height-g->p.y, GDISP_RAM_X_OFFSET-1+g->g.Height-g->p.y);
- write_cmd2(g, PASET, GDISP_RAM_Y_OFFSET+g->p.x, GDISP_RAM_Y_OFFSET+g->p.x);
+ write_cmd2(g, CASET, GDISP_RAM_X_OFFSET+g->g.Height-g->p.y-g->p.cy, GDISP_RAM_X_OFFSET-1+g->g.Height-g->p.y);
+ write_cmd2(g, PASET, GDISP_RAM_Y_OFFSET+g->p.x, GDISP_RAM_Y_OFFSET+g->p.x+g->p.cx-1);
break;
}
#else
@@ -292,8 +314,8 @@ LLDSPEC bool_t gdisp_lld_init(GDisplay *g) {
c = gdispColor2Native(g->p.color);
acquire_bus(g);
- set_viewport(g);
- write_data3(g, 0, (c>>8) & 0x0F, c & 0xFF);
+ set_viewpoint(g);
+ write_data3(g, 0, ((c>>8) & 0x0F), (c & 0xFF));
release_bus(g);
}
#endif
@@ -569,4 +591,3 @@ LLDSPEC bool_t gdisp_lld_init(GDisplay *g) {
#endif
#endif /* GFX_USE_GDISP */
-/** @} */
diff --git a/drivers/gdisp/Nokia6610GE8/gdisp_lld_config.h b/drivers/gdisp/Nokia6610GE8/gdisp_lld_config.h
index 1476dbcf..b90314d6 100644
--- a/drivers/gdisp/Nokia6610GE8/gdisp_lld_config.h
+++ b/drivers/gdisp/Nokia6610GE8/gdisp_lld_config.h
@@ -5,14 +5,6 @@
* http://ugfx.org/license.html
*/
-/**
- * @file drivers/gdisp/Nokia6610GE8/gdisp_lld_config.h
- * @brief GDISP Graphic Driver subsystem low level driver header for the Nokia6610 GE8 display.
- *
- * @addtogroup GDISP
- * @{
- */
-
#ifndef _GDISP_LLD_CONFIG_H
#define _GDISP_LLD_CONFIG_H
@@ -46,4 +38,3 @@
#endif /* GFX_USE_GDISP */
#endif /* _GDISP_LLD_CONFIG_H */
-/** @} */
diff --git a/drivers/gdisp/RA8875/board_RA8875_template.h b/drivers/gdisp/RA8875/board_RA8875_template.h
index fce05129..292484f5 100644
--- a/drivers/gdisp/RA8875/board_RA8875_template.h
+++ b/drivers/gdisp/RA8875/board_RA8875_template.h
@@ -5,139 +5,50 @@
* http://ugfx.org/license.html
*/
-/**
- * @file drivers/gdisp/SSD1963/board_RA8875_template.h
- * @brief GDISP Graphic Driver subsystem board interface for the RA8875 display.
- *
- * @addtogroup GDISP
- * @{
- */
-
#ifndef _GDISP_LLD_BOARD_H
#define _GDISP_LLD_BOARD_H
-/**
- * @brief Initialise the board for the display.
- *
- * @param[in] g The GDisplay structure
- *
- * @note Set the g->board member to whatever is appropriate. For multiple
- * displays this might be a pointer to the appropriate register set.
- *
- * @notapi
- */
static inline void init_board(GDisplay *g) {
(void) g;
}
-/**
- * @brief After the initialisation.
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void post_init_board(GDisplay *g) {
(void) g;
}
-/**
- * @brief Set or clear the lcd reset pin.
- *
- * @param[in] g The GDisplay structure
- * @param[in] state TRUE = lcd in reset, FALSE = normal operation
- *
- * @notapi
- */
static inline void setpin_reset(GDisplay *g, bool_t state) {
(void) g;
(void) state;
}
-/**
- * @brief Take exclusive control of the bus
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void acquire_bus(GDisplay *g) {
(void) g;
}
-/**
- * @brief Release exclusive control of the bus
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void release_bus(GDisplay *g) {
(void) g;
}
-/**
- * @brief Send data to the index register.
- *
- * @param[in] g The GDisplay structure
- * @param[in] index The index register to set
- *
- * @notapi
- */
static inline void write_index(GDisplay *g, uint16_t index) {
(void) g;
(void) index;
}
-/**
- * @brief Send data to the lcd.
- *
- * @param[in] g The GDisplay structure
- * @param[in] data The data to send
- *
- * @notapi
- */
static inline void write_data(GDisplay *g, uint16_t data) {
(void) g;
(void) data;
}
-/**
- * @brief Set the bus in read mode
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void setreadmode(GDisplay *g) {
(void) g;
}
-/**
- * @brief Set the bus back into write mode
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void setwritemode(GDisplay *g) {
(void) g;
}
-/**
- * @brief Read data from the lcd.
- * @return The data from the lcd
- *
- * @param[in] g The GDisplay structure
- *
- * @note The chip select may need to be asserted/de-asserted
- * around the actual spi read
- *
- * @notapi
- */
static inline uint16_t read_data(GDisplay *g) {
(void) g;
}
#endif /* _GDISP_LLD_BOARD_H */
-/** @} */
diff --git a/drivers/gdisp/RA8875/gdisp_lld_RA8875.c b/drivers/gdisp/RA8875/gdisp_lld_RA8875.c
index a4d1d0e1..6b58868b 100644
--- a/drivers/gdisp/RA8875/gdisp_lld_RA8875.c
+++ b/drivers/gdisp/RA8875/gdisp_lld_RA8875.c
@@ -5,11 +5,6 @@
* http://ugfx.org/license.html
*/
-/**
- * @file drivers/gdisp/RA8875/gdisp_lld.c
- * @brief GDISP Graphics Driver subsystem low level driver source.
- */
-
#include "gfx.h"
#if GFX_USE_GDISP /*|| defined(__DOXYGEN__)*/
diff --git a/drivers/gdisp/RA8875/gdisp_lld_config.h b/drivers/gdisp/RA8875/gdisp_lld_config.h
index 55a07839..03a58afa 100644
--- a/drivers/gdisp/RA8875/gdisp_lld_config.h
+++ b/drivers/gdisp/RA8875/gdisp_lld_config.h
@@ -5,14 +5,6 @@
* http://ugfx.org/license.html
*/
-/**
- * @file drivers/gdisp/SSD1963/gdisp_lld_config.h
- * @brief GDISP Graphic Driver subsystem low level driver header.
- *
- * @addtogroup GDISP
- * @{
- */
-
#ifndef _GDISP_LLD_CONFIG_H
#define _GDISP_LLD_CONFIG_H
@@ -32,5 +24,3 @@
#endif /* GFX_USE_GDISP */
#endif /* _GDISP_LLD_CONFIG_H */
-/** @} */
-
diff --git a/drivers/gdisp/S6D1121/board_S6D1121_template.h b/drivers/gdisp/S6D1121/board_S6D1121_template.h
index 04742f56..c4057b1f 100644
--- a/drivers/gdisp/S6D1121/board_S6D1121_template.h
+++ b/drivers/gdisp/S6D1121/board_S6D1121_template.h
@@ -5,150 +5,56 @@
* http://ugfx.org/license.html
*/
-/**
- * @file drivers/gdisp/S6D1121/board_S6D1121_template.h
- * @brief GDISP Graphic Driver subsystem board interface for the S6D1121 display.
- *
- * @addtogroup GDISP
- * @{
- */
-
#ifndef _GDISP_LLD_BOARD_H
#define _GDISP_LLD_BOARD_H
-/**
- * @brief Initialise the board for the display.
- *
- * @param[in] g The GDisplay structure
- *
- * @note Set the g->board member to whatever is appropriate. For multiple
- * displays this might be a pointer to the appropriate register set.
- *
- * @notapi
- */
static inline void init_board(GDisplay *g) {
(void) g;
}
-/**
- * @brief After the initialisation.
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void post_init_board(GDisplay *g) {
(void) g;
}
-/**
- * @brief Set or clear the lcd reset pin.
- *
- * @param[in] g The GDisplay structure
- * @param[in] state TRUE = lcd in reset, FALSE = normal operation
- *
- * @notapi
- */
static inline void setpin_reset(GDisplay *g, bool_t state) {
(void) g;
(void) state;
}
-/**
- * @brief Set the lcd back-light level.
- *
- * @param[in] g The GDisplay structure
- * @param[in] percent 0 to 100%
- *
- * @notapi
- */
static inline void set_backlight(GDisplay *g, uint8_t percent) {
(void) g;
(void) percent;
}
-/**
- * @brief Take exclusive control of the bus
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void acquire_bus(GDisplay *g) {
(void) g;
}
-/**
- * @brief Release exclusive control of the bus
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void release_bus(GDisplay *g) {
(void) g;
}
-/**
- * @brief Send data to the index register.
- *
- * @param[in] g The GDisplay structure
- * @param[in] index The index register to set
- *
- * @notapi
- */
static inline void write_index(GDisplay *g, uint16_t index) {
(void) g;
(void) index;
}
-/**
- * @brief Send data to the lcd.
- *
- * @param[in] g The GDisplay structure
- * @param[in] data The data to send
- *
- * @notapi
- */
static inline void write_data(GDisplay *g, uint16_t data) {
(void) g;
(void) data;
}
-/**
- * @brief Set the bus in read mode
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void setreadmode(GDisplay *g) {
(void) g;
}
-/**
- * @brief Set the bus back into write mode
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void setwritemode(GDisplay *g) {
(void) g;
}
-/**
- * @brief Read data from the lcd.
- * @return The data from the lcd
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline uint16_t read_data(GDisplay *g) {
(void) g;
return 0;
}
#endif /* _GDISP_LLD_BOARD_H */
-/** @} */
diff --git a/drivers/gdisp/S6D1121/gdisp_lld_S6D1121.c b/drivers/gdisp/S6D1121/gdisp_lld_S6D1121.c
index 389b27fe..e3f1dd0c 100644
--- a/drivers/gdisp/S6D1121/gdisp_lld_S6D1121.c
+++ b/drivers/gdisp/S6D1121/gdisp_lld_S6D1121.c
@@ -5,14 +5,6 @@
* http://ugfx.org/license.html
*/
-/**
- * @file drivers/gdisp/S6D1121/gdisp_lld.c
- * @brief GDISP Graphics Driver subsystem low level driver source for the S6d1121 display.
- *
- * @addtogroup GDISP
- * @{
- */
-
#include "gfx.h"
#if GFX_USE_GDISP
@@ -336,5 +328,3 @@ LLDSPEC bool_t gdisp_lld_init(GDisplay *g) {
#endif
#endif /* GFX_USE_GDISP */
-/** @} */
-
diff --git a/drivers/gdisp/S6D1121/gdisp_lld_config.h b/drivers/gdisp/S6D1121/gdisp_lld_config.h
index 79e859bc..03a58afa 100644
--- a/drivers/gdisp/S6D1121/gdisp_lld_config.h
+++ b/drivers/gdisp/S6D1121/gdisp_lld_config.h
@@ -5,14 +5,6 @@
* http://ugfx.org/license.html
*/
-/**
- * @file drivers/gdisp/S6D1121/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
@@ -32,5 +24,3 @@
#endif /* GFX_USE_GDISP */
#endif /* _GDISP_LLD_CONFIG_H */
-/** @} */
-
diff --git a/drivers/gdisp/SSD1289/board_SSD1289_template.h b/drivers/gdisp/SSD1289/board_SSD1289_template.h
index 7c9cd757..b86d9579 100644
--- a/drivers/gdisp/SSD1289/board_SSD1289_template.h
+++ b/drivers/gdisp/SSD1289/board_SSD1289_template.h
@@ -5,181 +5,67 @@
* http://ugfx.org/license.html
*/
-/**
- * @file drivers/gdisp/SSD1289/board_SSD1289_template.h
- * @brief GDISP Graphic Driver subsystem board interface for the SSD1289 display.
- *
- * @addtogroup GDISP
- * @{
- */
-
#ifndef _GDISP_LLD_BOARD_H
#define _GDISP_LLD_BOARD_H
-/**
- * @brief Initialise the board for the display.
- *
- * @param[in] g The GDisplay structure
- *
- * @note Set the g->board member to whatever is appropriate. For multiple
- * displays this might be a pointer to the appropriate register set.
- *
- * @notapi
- */
static inline void init_board(GDisplay *g) {
(void) g;
}
-/**
- * @brief After the initialisation.
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void post_init_board(GDisplay *g) {
(void) g;
}
-/**
- * @brief Set or clear the lcd reset pin.
- *
- * @param[in] g The GDisplay structure
- * @param[in] state TRUE = lcd in reset, FALSE = normal operation
- *
- * @notapi
- */
static inline void setpin_reset(GDisplay *g, bool_t state) {
(void) g;
(void) state;
}
-/**
- * @brief Set the lcd back-light level.
- *
- * @param[in] g The GDisplay structure
- * @param[in] percent 0 to 100%
- *
- * @notapi
- */
static inline void set_backlight(GDisplay *g, uint8_t percent) {
(void) g;
(void) percent;
}
-/**
- * @brief Take exclusive control of the bus
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void acquire_bus(GDisplay *g) {
(void) g;
}
-/**
- * @brief Release exclusive control of the bus
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void release_bus(GDisplay *g) {
(void) g;
}
-/**
- * @brief Send data to the index register.
- *
- * @param[in] g The GDisplay structure
- * @param[in] index The index register to set
- *
- * @notapi
- */
static inline void write_index(GDisplay *g, uint16_t index) {
(void) g;
(void) index;
}
-/**
- * @brief Send data to the lcd.
- *
- * @param[in] g The GDisplay structure
- * @param[in] data The data to send
- *
- * @notapi
- */
static inline void write_data(GDisplay *g, uint16_t data) {
(void) g;
(void) data;
}
-/**
- * @brief Set the bus in read mode
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void setreadmode(GDisplay *g) {
(void) g;
}
-/**
- * @brief Set the bus back into write mode
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void setwritemode(GDisplay *g) {
(void) g;
}
-/**
- * @brief Read data from the lcd.
- * @return The data from the lcd
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline uint16_t read_data(GDisplay *g) {
(void) g;
return 0;
}
-/**
- * The below section you can replace with #error if your interface doesn't support DMA
- */
#if defined(GDISP_USE_DMA) || defined(__DOXYGEN__)
//#error "GDISP - SSD1289: This interface does not support DMA"
- /**
- * @brief Transfer data using DMA but don't increment the source address
- *
- * @param[in] g The GDisplay structure
- * @param[in] buffer The source buffer location
- * @param[in] area The number of pixels to transfer
- *
- * @notapi
- */
static inline void dma_with_noinc(GDisplay *g, color_t *buffer, int area) {
(void) g;
(void) buffer;
(void) area;
}
- /**
- * @brief Transfer data using DMA incrementing the source address
- *
- * @param[in] g The GDisplay structure
- * @param[in] buffer The source buffer location
- * @param[in] area The number of pixels to transfer
- *
- * @notapi
- */
static inline void dma_with_inc(GDisplay *g, color_t *buffer, int area) {
(void) g;
(void) buffer;
@@ -188,4 +74,3 @@ static inline uint16_t read_data(GDisplay *g) {
#endif
#endif /* _GDISP_LLD_BOARD_H */
-/** @} */
diff --git a/drivers/gdisp/SSD1289/gdisp_lld_SSD1289.c b/drivers/gdisp/SSD1289/gdisp_lld_SSD1289.c
index 75338745..d49e5268 100644
--- a/drivers/gdisp/SSD1289/gdisp_lld_SSD1289.c
+++ b/drivers/gdisp/SSD1289/gdisp_lld_SSD1289.c
@@ -5,11 +5,6 @@
* http://ugfx.org/license.html
*/
-/**
- * @file drivers/gdisp/SSD1289/gdisp_lld.c
- * @brief GDISP Graphics Driver subsystem low level driver source for the SSD1289 display.
- */
-
#include "gfx.h"
#if GFX_USE_GDISP
diff --git a/drivers/gdisp/SSD1289/gdisp_lld_config.h b/drivers/gdisp/SSD1289/gdisp_lld_config.h
index a9166553..8d327bf9 100644
--- a/drivers/gdisp/SSD1289/gdisp_lld_config.h
+++ b/drivers/gdisp/SSD1289/gdisp_lld_config.h
@@ -5,14 +5,6 @@
* http://ugfx.org/license.html
*/
-/**
- * @file drivers/gdisp/SSD1289/gdisp_lld_config.h
- * @brief GDISP Graphic Driver subsystem low level driver header for the SSD1289 display.
- *
- * @addtogroup GDISP
- * @{
- */
-
#ifndef _GDISP_LLD_CONFIG_H
#define _GDISP_LLD_CONFIG_H
@@ -40,4 +32,3 @@
#endif /* GFX_USE_GDISP */
#endif /* _GDISP_LLD_CONFIG_H */
-/** @} */
diff --git a/drivers/gdisp/SSD1306/SSD1306.h b/drivers/gdisp/SSD1306/SSD1306.h
index 47ca39e4..d1c59fe4 100644
--- a/drivers/gdisp/SSD1306/SSD1306.h
+++ b/drivers/gdisp/SSD1306/SSD1306.h
@@ -53,5 +53,3 @@
#define SSD1306_SCROLL_VERTICAL_AND_HORIZONTAL_LEFT 0x2A
#endif /* _SSD1306_H */
-/** @} */
-
diff --git a/drivers/gdisp/SSD1306/board_SSD1306_template.h b/drivers/gdisp/SSD1306/board_SSD1306_template.h
index 5b4bd05c..0bd3f803 100644
--- a/drivers/gdisp/SSD1306/board_SSD1306_template.h
+++ b/drivers/gdisp/SSD1306/board_SSD1306_template.h
@@ -5,106 +5,37 @@
* http://ugfx.org/license.html
*/
-/**
- * @file drivers/gdisp/SSD1306/board_SSD1306_template.h
- * @brief GDISP Graphic Driver subsystem board interface for the SSD1306 display.
- *
- * @addtogroup GDISP
- * @{
- */
-
#ifndef _GDISP_LLD_BOARD_H
#define _GDISP_LLD_BOARD_H
-/**
- * @brief Optional: A byte to prefix on each display page line.
- * @note If not defined then no byte is prefixed on each page line.
- *
- * @notapi
- */
//#define SSD1306_PAGE_PREFIX 0x40
-/**
- * @brief Initialise the board for the display.
- *
- * @param[in] g The GDisplay structure
- *
- * @note Set the g->board member to whatever is appropriate. For multiple
- * displays this might be a pointer to the appropriate register set.
- *
- * @notapi
- */
static inline void init_board(GDisplay *g) {
(void) g;
}
-/**
- * @brief After the initialisation.
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void post_init_board(GDisplay *g) {
(void) g;
}
-/**
- * @brief Set or clear the lcd reset pin.
- *
- * @param[in] g The GDisplay structure
- * @param[in] state TRUE = lcd in reset, FALSE = normal operation
- *
- * @notapi
- */
static inline void setpin_reset(GDisplay *g, bool_t state) {
(void) g;
(void) state;
}
-/**
- * @brief Take exclusive control of the bus
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void acquire_bus(GDisplay *g) {
(void) g;
}
-/**
- * @brief Release exclusive control of the bus
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void release_bus(GDisplay *g) {
(void) g;
}
-/**
- * @brief Send a command to the controller.
- *
- * @param[in] g The GDisplay structure
- * @param[in] cmd The command to send *
- *
- * @notapi
- */
static inline void write_cmd(GDisplay *g, uint8_t cmd) {
(void) g;
(void) cmd;
}
-/**
- * @brief Send data to the lcd.
- *
- * @param[in] g The GDisplay structure
- * @param[in] data The data to send
- *
- * @notapi
- */
static inline void write_data(GDisplay *g, uint8_t* data, uint16_t length) {
(void) g;
(void) data;
@@ -112,5 +43,3 @@ static inline void write_data(GDisplay *g, uint8_t* data, uint16_t length) {
}
#endif /* _GDISP_LLD_BOARD_H */
-/** @} */
-
diff --git a/drivers/gdisp/SSD1306/gdisp_lld_SSD1306.c b/drivers/gdisp/SSD1306/gdisp_lld_SSD1306.c
index 5dd4c2ab..abea8365 100644
--- a/drivers/gdisp/SSD1306/gdisp_lld_SSD1306.c
+++ b/drivers/gdisp/SSD1306/gdisp_lld_SSD1306.c
@@ -5,11 +5,6 @@
* http://ugfx.org/license.html
*/
-/**
- * @file drivers/gdisp/SSD1306/gdisp_lld.c
- * @brief GDISP Graphics Driver subsystem low level driver source for the SSD1306 display.
- */
-
#include "gfx.h"
#if GFX_USE_GDISP
@@ -279,4 +274,3 @@ LLDSPEC bool_t gdisp_lld_init(GDisplay *g) {
#endif // GDISP_NEED_CONTROL
#endif // GFX_USE_GDISP
-
diff --git a/drivers/gdisp/SSD1306/gdisp_lld_config.h b/drivers/gdisp/SSD1306/gdisp_lld_config.h
index 627de17b..2b805e86 100644
--- a/drivers/gdisp/SSD1306/gdisp_lld_config.h
+++ b/drivers/gdisp/SSD1306/gdisp_lld_config.h
@@ -28,5 +28,3 @@
#endif /* GFX_USE_GDISP */
#endif /* _GDISP_LLD_CONFIG_H */
-/** @} */
-
diff --git a/drivers/gdisp/SSD1963/board_SSD1963_template.h b/drivers/gdisp/SSD1963/board_SSD1963_template.h
index 5e1999b8..f9f248e7 100644
--- a/drivers/gdisp/SSD1963/board_SSD1963_template.h
+++ b/drivers/gdisp/SSD1963/board_SSD1963_template.h
@@ -5,47 +5,9 @@
* http://ugfx.org/license.html
*/
-/**
- * @file drivers/gdisp/SSD1963/board_SSD1963_template.h
- * @brief GDISP Graphic Driver subsystem board interface for the SSD1963 display.
- *
- * @addtogroup GDISP
- * @{
- */
-
#ifndef _GDISP_LLD_BOARD_H
#define _GDISP_LLD_BOARD_H
-/**
- * @brief LCD panel specs
- *
- * @note The timings need to follow the datasheet for your particular TFT/LCD screen
- * (the actual screen, not the controller).
- * @note Datasheets normally use a specific set of timings and acronyms, their value refers
- * to the number of pixel clocks. Non-display periods refer to pulses/timings that occur
- * before or after the timings that actually put pixels on the screen. Display periods
- * refer to pulses/timings that directly put pixels on the screen.
- * @note HDP: Horizontal Display Period, normally the width - 1<br>
- * HT: Horizontal Total period (display + non-display)<br>
- * HPS: non-display period between the start of the horizontal sync (LLINE) signal
- * and the first display data<br>
- * LPS: horizontal sync pulse (LLINE) start location in pixel clocks<br>
- * HPW: Horizontal sync Pulse Width<br>
- * VDP: Vertical Display period, normally height - 1<br>
- * VT: Vertical Total period (display + non-display)<br>
- * VPS: non-display period in lines between the start of the frame and the first display
- * data in number of lines<br>
- * FPS: vertical sync pulse (LFRAME) start location in lines.<br>
- * VPW: Vertical sync Pulse Width
- * @note Here's how to convert them:<br>
- * SCREEN_HSYNC_FRONT_PORCH = ( HT - HPS ) - GDISP_SCREEN_WIDTH<br>
- * SCREEN_HSYNC_PULSE = HPW<br>
- * SCREEN_HSYNC_BACK_PORCH = HPS - HPW<br>
- * SCREEN_VSYNC_FRONT_PORCH = ( VT - VPS ) - GDISP_SCREEN_HEIGHT<br>
- * SCREEN_VSYNC_PULSE = VPW<br>
- * SCREEN_VSYNC_BACK_PORCH = VPS - LPS<br>
- */
-
static const LCD_Parameters DisplayTimings[] = {
// You need one of these array elements per display
{
@@ -58,91 +20,35 @@ static const LCD_Parameters DisplayTimings[] = {
},
};
-/**
- * @brief Initialise the board for the display.
- *
- * @param[in] g The GDisplay structure
- *
- * @note Set the g->board member to whatever is appropriate. For multiple
- * displays this might be a pointer to the appropriate register set.
- *
- * @notapi
- */
static inline void init_board(GDisplay *g) {
(void) g;
}
-/**
- * @brief After the initialisation.
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void post_init_board(GDisplay *g) {
(void) g;
}
-/**
- * @brief Set or clear the lcd reset pin.
- *
- * @param[in] g The GDisplay structure
- * @param[in] state TRUE = lcd in reset, FALSE = normal operation
- *
- * @notapi
- */
static inline void setpin_reset(GDisplay *g, bool_t state) {
(void) g;
(void) state;
}
-/**
- * @brief Take exclusive control of the bus
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void acquire_bus(GDisplay *g) {
(void) g;
}
-/**
- * @brief Release exclusive control of the bus
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void release_bus(GDisplay *g) {
(void) g;
}
-/**
- * @brief Send data to the index register.
- *
- * @param[in] g The GDisplay structure
- * @param[in] index The index register to set
- *
- * @notapi
- */
static inline void write_index(GDisplay *g, uint16_t index) {
(void) g;
(void) index;
}
-/**
- * @brief Send data to the lcd.
- *
- * @param[in] g The GDisplay structure
- * @param[in] data The data to send
- *
- * @notapi
- */
static inline void write_data(GDisplay *g, uint16_t data) {
(void) g;
(void) data;
}
#endif /* _GDISP_LLD_BOARD_H */
-/** @} */
diff --git a/drivers/gdisp/SSD1963/gdisp_lld_SSD1963.c b/drivers/gdisp/SSD1963/gdisp_lld_SSD1963.c
index 1e69ef70..74fa3e3e 100644
--- a/drivers/gdisp/SSD1963/gdisp_lld_SSD1963.c
+++ b/drivers/gdisp/SSD1963/gdisp_lld_SSD1963.c
@@ -5,11 +5,6 @@
* http://ugfx.org/license.html
*/
-/**
- * @file drivers/gdisp/SSD1963/gdisp_lld.c
- * @brief GDISP Graphics Driver subsystem low level driver source.
- */
-
#include "gfx.h"
#if GFX_USE_GDISP
@@ -282,4 +277,3 @@ LLDSPEC bool_t gdisp_lld_init(GDisplay *g) {
#endif
#endif /* GFX_USE_GDISP */
-
diff --git a/drivers/gdisp/SSD1963/gdisp_lld_config.h b/drivers/gdisp/SSD1963/gdisp_lld_config.h
index 8ad94738..f1b61702 100644
--- a/drivers/gdisp/SSD1963/gdisp_lld_config.h
+++ b/drivers/gdisp/SSD1963/gdisp_lld_config.h
@@ -5,14 +5,6 @@
* http://ugfx.org/license.html
*/
-/**
- * @file drivers/gdisp/SSD1963/gdisp_lld_config.h
- * @brief GDISP Graphic Driver subsystem low level driver header.
- *
- * @addtogroup GDISP
- * @{
- */
-
#ifndef _GDISP_LLD_CONFIG_H
#define _GDISP_LLD_CONFIG_H
@@ -30,5 +22,3 @@
#endif /* GFX_USE_GDISP */
#endif /* _GDISP_LLD_CONFIG_H */
-/** @} */
-
diff --git a/drivers/gdisp/SSD1963/ssd1963.h b/drivers/gdisp/SSD1963/ssd1963.h
index be328775..2d1ac55f 100644
--- a/drivers/gdisp/SSD1963/ssd1963.h
+++ b/drivers/gdisp/SSD1963/ssd1963.h
@@ -9,7 +9,6 @@
#define SSD1963_H
/* SSD1963 commands */
-
#define SSD1963_NOP 0x0000
#define SSD1963_SOFT_RESET 0x0001
#define SSD1963_GET_POWER_MODE 0x000A
@@ -95,4 +94,3 @@
#define SSD1963_GET_PIXEL_DATA_INTERFACE 0x00F1
#endif
-
diff --git a/drivers/gdisp/SSD2119/board_SSD2119_template.h b/drivers/gdisp/SSD2119/board_SSD2119_template.h
index b4c6341d..61c54774 100644
--- a/drivers/gdisp/SSD2119/board_SSD2119_template.h
+++ b/drivers/gdisp/SSD2119/board_SSD2119_template.h
@@ -5,181 +5,67 @@
* http://ugfx.org/license.html
*/
-/**
- * @file drivers/gdisp/SSD2119/board_SSD2119_template.h
- * @brief GDISP Graphic Driver subsystem board template for the SSD2119 display.
- *
- * @addtogroup GDISP
- * @{
- */
-
#ifndef _GDISP_LLD_BOARD_H
#define _GDISP_LLD_BOARD_H
-/**
- * @brief Initialise the board for the display.
- *
- * @param[in] g The GDisplay structure
- *
- * @note Set the g->board member to whatever is appropriate. For multiple
- * displays this might be a pointer to the appropriate register set.
- *
- * @notapi
- */
static inline void init_board(GDisplay *g) {
(void) g;
}
-/**
- * @brief After the initialisation.
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void post_init_board(GDisplay *g) {
(void) g;
}
-/**
- * @brief Set or clear the lcd reset pin.
- *
- * @param[in] g The GDisplay structure
- * @param[in] state TRUE = lcd in reset, FALSE = normal operation
- *
- * @notapi
- */
static inline void setpin_reset(GDisplay *g, bool_t state) {
(void) g;
(void) state;
}
-/**
- * @brief Set the lcd back-light level.
- *
- * @param[in] g The GDisplay structure
- * @param[in] percent 0 to 100%
- *
- * @notapi
- */
static inline void set_backlight(GDisplay *g, uint8_t percent) {
(void) g;
(void) percent;
}
-/**
- * @brief Take exclusive control of the bus
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void acquire_bus(GDisplay *g) {
(void) g;
}
-/**
- * @brief Release exclusive control of the bus
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void release_bus(GDisplay *g) {
(void) g;
}
-/**
- * @brief Send data to the index register.
- *
- * @param[in] g The GDisplay structure
- * @param[in] index The index register to set
- *
- * @notapi
- */
static inline void write_index(GDisplay *g, uint16_t index) {
(void) g;
(void) index;
}
-/**
- * @brief Send data to the lcd.
- *
- * @param[in] g The GDisplay structure
- * @param[in] data The data to send
- *
- * @notapi
- */
static inline void write_data(GDisplay *g, uint16_t data) {
(void) g;
(void) data;
}
-/**
- * @brief Set the bus in read mode
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void setreadmode(GDisplay *g) {
(void) g;
}
-/**
- * @brief Set the bus back into write mode
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void setwritemode(GDisplay *g) {
(void) g;
}
-/**
- * @brief Read data from the lcd.
- * @return The data from the lcd
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline uint16_t read_data(GDisplay *g) {
(void) g;
return 0;
}
-/**
- * The below section you can replace with #error if your interface doesn't support DMA
- */
#if defined(GDISP_USE_DMA) || defined(__DOXYGEN__)
//#error "GDISP - SSD2119: This interface does not support DMA"
- /**
- * @brief Transfer data using DMA but don't increment the source address
- *
- * @param[in] g The GDisplay structure
- * @param[in] buffer The source buffer location
- * @param[in] area The number of pixels to transfer
- *
- * @notapi
- */
static inline void dma_with_noinc(GDisplay *g, color_t *buffer, int area) {
(void) g;
(void) buffer;
(void) area;
}
- /**
- * @brief Transfer data using DMA incrementing the source address
- *
- * @param[in] g The GDisplay structure
- * @param[in] buffer The source buffer location
- * @param[in] area The number of pixels to transfer
- *
- * @notapi
- */
static inline void dma_with_inc(GDisplay *g, color_t *buffer, int area) {
(void) g;
(void) buffer;
@@ -188,4 +74,3 @@ static inline uint16_t read_data(GDisplay *g) {
#endif
#endif /* _GDISP_LLD_BOARD_H */
-/** @} */
diff --git a/drivers/gdisp/SSD2119/gdisp_lld_SSD2119.c b/drivers/gdisp/SSD2119/gdisp_lld_SSD2119.c
index 8af9a123..08cddf96 100644
--- a/drivers/gdisp/SSD2119/gdisp_lld_SSD2119.c
+++ b/drivers/gdisp/SSD2119/gdisp_lld_SSD2119.c
@@ -5,11 +5,6 @@
* http://ugfx.org/license.html
*/
-/**
- * @file drivers/gdisp/SSD2119/gdisp_lld.c
- * @brief GDISP Graphics Driver subsystem low level driver source for the SSD2119 display.
- */
-
#include "gfx.h"
#if GFX_USE_GDISP
diff --git a/drivers/gdisp/SSD2119/gdisp_lld_config.h b/drivers/gdisp/SSD2119/gdisp_lld_config.h
index ec034bef..17983807 100644
--- a/drivers/gdisp/SSD2119/gdisp_lld_config.h
+++ b/drivers/gdisp/SSD2119/gdisp_lld_config.h
@@ -5,14 +5,6 @@
* http://ugfx.org/license.html
*/
-/**
- * @file drivers/gdisp/SSD2119/gdisp_lld_config.h
- * @brief GDISP Graphic Driver subsystem low level driver header for the SSD2119 display.
- *
- * @addtogroup GDISP
- * @{
- */
-
#ifndef _GDISP_LLD_CONFIG_H
#define _GDISP_LLD_CONFIG_H
@@ -40,4 +32,3 @@
#endif /* GFX_USE_GDISP */
#endif /* _GDISP_LLD_CONFIG_H */
-/** @} */
diff --git a/drivers/gdisp/SSD2119/ssd2119.h b/drivers/gdisp/SSD2119/ssd2119.h
index a8fa7521..7812d98b 100644
--- a/drivers/gdisp/SSD2119/ssd2119.h
+++ b/drivers/gdisp/SSD2119/ssd2119.h
@@ -5,19 +5,10 @@
* http://ugfx.org/license.html
*/
-/**
- * @file drivers/gdisp/SSD2119/ssd2119.h
- * @brief GDISP Graphic Driver support header for the SSD2119 display.
- *
- * @addtogroup GDISP
- * @{
- */
-
#ifndef _SSD2119_H
#define _SSD2119_H
/* SSD2119 registers */
-
#define SSD2119_REG_DEVICE_CODE_READ 0x00
#define SSD2119_REG_OSC_START 0x00
#define SSD2119_REG_OUTPUT_CTRL 0x01
@@ -65,4 +56,3 @@
#define SSD2119_REG_Y_RAM_ADDR 0x4F
#endif /* _SSD2119_H */
-/** @} */
diff --git a/drivers/gdisp/ST7565/board_ST7565_template.h b/drivers/gdisp/ST7565/board_ST7565_template.h
index 4eb45701..3efdbd46 100644
--- a/drivers/gdisp/ST7565/board_ST7565_template.h
+++ b/drivers/gdisp/ST7565/board_ST7565_template.h
@@ -5,20 +5,9 @@
* http://ugfx.org/license.html
*/
-/**
- * @file drivers/gdisp/ST7565/board_ST7565_template.h
- * @brief GDISP Graphic Driver subsystem board interface for the ST7565 display.
- *
- * @addtogroup GDISP
- * @{
- */
-
#ifndef _GDISP_LLD_BOARD_H
#define _GDISP_LLD_BOARD_H
-/**
- * Driver configuration
- */
#define ST7565_LCD_BIAS ST7565_LCD_BIAS_7
#define ST7565_ADC ST7565_ADC_NORMAL
#define ST7565_COM_SCAN ST7565_COM_SCAN_INC
@@ -28,87 +17,32 @@
* #define ST7565_PAGE_ORDER 4,5,6,7,0,1,2,3
*/
-/**
- * @brief Initialise the board for the display.
- *
- * @param[in] g The GDisplay structure
- *
- * @note Set the g->board member to whatever is appropriate. For multiple
- * displays this might be a pointer to the appropriate register set.
- *
- * @notapi
- */
static inline void init_board(GDisplay *g) {
(void) g;
}
-/**
- * @brief After the initialisation.
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void post_init_board(GDisplay *g) {
(void) g;
}
-/**
- * @brief Set or clear the lcd reset pin.
- *
- * @param[in] g The GDisplay structure
- * @param[in] state TRUE = lcd in reset, FALSE = normal operation
- *
- * @notapi
- */
static inline void setpin_reset(GDisplay *g, bool_t state) {
(void) g;
(void) state;
}
-/**
- * @brief Take exclusive control of the bus
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void acquire_bus(GDisplay *g) {
(void) g;
}
-/**
- * @brief Release exclusive control of the bus
- *
- * @param[in] g The GDisplay structure
- *
- * @notapi
- */
static inline void release_bus(GDisplay *g) {
(void) g;
}
-/**
- * @brief Send a command to the controller.
- *
- * @param[in] g The GDisplay structure
- * @param[in] cmd The command to send *
- *
- * @notapi
- */
static inline void write_cmd(GDisplay *g, uint8_t cmd) {
(void) g;
(void) cmd;
}
-/**
- * @brief Send data to the lcd.
- *
- * @param[in] g The GDisplay structure
- * @param[in] data The data to send
- *
- * @notapi
- */
static inline void write_data(GDisplay *g, uint8_t* data, uint16_t length) {
(void) g;
(void) data;
@@ -116,5 +50,3 @@ static inline void write_data(GDisplay *g, uint8_t* data, uint16_t length) {
}
#endif /* _GDISP_LLD_BOARD_H */
-/** @} */
-
diff --git a/drivers/gdisp/ST7565/gdisp_lld_ST7565.c b/drivers/gdisp/ST7565/gdisp_lld_ST7565.c
index b3029391..8d331fbc 100644
--- a/drivers/gdisp/ST7565/gdisp_lld_ST7565.c
+++ b/drivers/gdisp/ST7565/gdisp_lld_ST7565.c
@@ -5,11 +5,6 @@
* http://ugfx.org/license.html
*/
-/**
- * @file drivers/gdisp/ST7565/gdisp_lld.c
- * @brief GDISP Graphics Driver subsystem low level driver source for the ST7565 display.
- */
-
#include "gfx.h"
#if GFX_USE_GDISP
@@ -77,7 +72,7 @@
/* Driver exported functions. */
/*===========================================================================*/
-/**
+/*
* As this controller can't update on a pixel boundary we need to maintain the
* the entire display surface in memory so that we can do the necessary bit
* operations. Fortunately it is a small display in monochrome.
diff --git a/drivers/gdisp/ST7565/gdisp_lld_config.h b/drivers/gdisp/ST7565/gdisp_lld_config.h
index f774e8fa..48587b9e 100644
--- a/drivers/gdisp/ST7565/gdisp_lld_config.h
+++ b/drivers/gdisp/ST7565/gdisp_lld_config.h
@@ -24,5 +24,3 @@
#endif /* GFX_USE_GDISP */
#endif /* _GDISP_LLD_CONFIG_H */
-/** @} */
-
diff --git a/drivers/gdisp/ST7565/st7565.h b/drivers/gdisp/ST7565/st7565.h
index 9542dd3f..48636b33 100644
--- a/drivers/gdisp/ST7565/st7565.h
+++ b/drivers/gdisp/ST7565/st7565.h
@@ -35,5 +35,3 @@
#define ST7565_POWER_CONTROL 0x28
#endif /* _ST7565_H */
-/** @} */
-
diff --git a/drivers/gdisp/TestStub/gdisp_lld_TestStub.c b/drivers/gdisp/TestStub/gdisp_lld_TestStub.c
index f87826aa..4051c818 100644
--- a/drivers/gdisp/TestStub/gdisp_lld_TestStub.c
+++ b/drivers/gdisp/TestStub/gdisp_lld_TestStub.c
@@ -5,11 +5,6 @@
* http://ugfx.org/license.html
*/
-/**
- * @file drivers/gdisp/TestStub/gdisp_lld.c
- * @brief GDISP Graphics Driver subsystem low level driver source (stub).
- */
-
#include "gfx.h"
#if GFX_USE_GDISP /*|| defined(__DOXYGEN__)*/
diff --git a/drivers/gdisp/TestStub/gdisp_lld_config.h b/drivers/gdisp/TestStub/gdisp_lld_config.h
index 63471c6c..53111358 100644
--- a/drivers/gdisp/TestStub/gdisp_lld_config.h
+++ b/drivers/gdisp/TestStub/gdisp_lld_config.h
@@ -5,14 +5,6 @@
* http://ugfx.org/license.html
*/
-/**
- * @file drivers/gdisp/TestStub/gdisp_lld_config.h
- * @brief GDISP Graphic Driver subsystem low level driver header (stub).
- *
- * @addtogroup GDISP
- * @{
- */
-
#ifndef _GDISP_LLD_CONFIG_H
#define _GDISP_LLD_CONFIG_H
@@ -30,4 +22,3 @@
#endif /* GFX_USE_GDISP */
#endif /* _GDISP_LLD_CONFIG_H */
-/** @} */