diff options
Diffstat (limited to 'drivers/gdisp')
59 files changed, 1052 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/ILI93xx/board_ILI93xx_template.h b/drivers/gdisp/ILI93xx/board_ILI93xx_template.h new file mode 100644 index 00000000..18dbe653 --- /dev/null +++ b/drivers/gdisp/ILI93xx/board_ILI93xx_template.h @@ -0,0 +1,72 @@ +/* + * 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/ILI93xx/gdisp_lld.mk b/drivers/gdisp/ILI93xx/gdisp_lld.mk new file mode 100644 index 00000000..6c38e49a --- /dev/null +++ b/drivers/gdisp/ILI93xx/gdisp_lld.mk @@ -0,0 +1,3 @@ +GFXINC += $(GFXLIB) +GFXINC += $(GFXLIB)/drivers/gdisp/ILI93xx +GFXSRC += $(GFXLIB)/drivers/gdisp/ILI93xx/gdisp_lld_ILI93xx.c diff --git a/drivers/gdisp/ILI93xx/gdisp_lld_ILI93xx.c b/drivers/gdisp/ILI93xx/gdisp_lld_ILI93xx.c new file mode 100644 index 00000000..277d0aff --- /dev/null +++ b/drivers/gdisp/ILI93xx/gdisp_lld_ILI93xx.c @@ -0,0 +1,438 @@ +/* + * 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 /*|| defined(__DOXYGEN__)*/ + +/* 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_ILI93xx +#include "drivers/gdisp/ILI93xx/gdisp_lld_config.h" +#include "src/gdisp/driver.h" + +#include "board_ILI93xx.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 inline uint16_t read_reg(GDisplay *g, uint32_t reg) { + write_index(g, reg); + return read_data(g); + } + +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) { + + unsigned short DeviceCode; + + // 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(10); + setpin_reset(g, TRUE); + gfxSleepMilliseconds(50); + + acquire_bus(g); + setreadmode(g); + DeviceCode = read_reg(g, 0x00); + setwritemode(g); + + if( DeviceCode == 0x9320 || DeviceCode == 0x9300 ) + { + write_reg(g, 0x00, 0x0000); + write_reg(g, 0x01, 0x0100); /* Driver Output Contral */ + write_reg(g, 0x02, 0x0700); /* LCD Driver Waveform Contral */ + write_reg(g, 0x03, 0x1038); /* Set the scan mode */ + write_reg(g, 0x04, 0x0000); /* Scalling Contral */ + write_reg(g, 0x08, 0x0202); /* Display Contral 2 */ + write_reg(g, 0x09, 0x0000); /* Display Contral 3 */ + write_reg(g, 0x0a, 0x0000); /* Frame Cycle Contal */ + write_reg(g, 0x0c, (1<<0)); /* Extern Display Interface Contral 1 */ + write_reg(g, 0x0d, 0x0000); /* Frame Maker Position */ + write_reg(g, 0x0f, 0x0000); /* Extern Display Interface Contral 2 */ + gfxSleepMilliseconds(50); + write_reg(g, 0x07, 0x0101); /* Display Contral */ + gfxSleepMilliseconds(50); + write_reg(g, 0x10, (1<<12)|(0<<8)|(1<<7)|(1<<6)|(0<<4)); /* Power Control 1 */ + write_reg(g, 0x11, 0x0007); /* Power Control 2 */ + write_reg(g, 0x12, (1<<8)|(1<<4)|(0<<0)); /* Power Control 3 */ + write_reg(g, 0x13, 0x0b00); /* Power Control 4 */ + write_reg(g, 0x29, 0x0000); /* Power Control 7 */ + write_reg(g, 0x2b, (1<<14)|(1<<4)); + write_reg(g, 0x50, 0); /* Set X Start */ + write_reg(g, 0x51, 239); /* Set X End */ + write_reg(g, 0x52, 0); /* Set Y Start */ + write_reg(g, 0x53, 319); /* Set Y End */ + gfxSleepMilliseconds(50); + + write_reg(g, 0x60, 0x2700); /* Driver Output Control */ + write_reg(g, 0x61, 0x0001); /* Driver Output Control */ + write_reg(g, 0x6a, 0x0000); /* Vertical Srcoll Control */ + + write_reg(g, 0x80, 0x0000); /* Display Position? Partial Display 1 */ + write_reg(g, 0x81, 0x0000); /* RAM Address Start? Partial Display 1 */ + write_reg(g, 0x82, 0x0000); /* RAM Address End-Partial Display 1 */ + write_reg(g, 0x83, 0x0000); /* Displsy Position? Partial Display 2 */ + write_reg(g, 0x84, 0x0000); /* RAM Address Start? Partial Display 2 */ + write_reg(g, 0x85, 0x0000); /* RAM Address End? Partial Display 2 */ + + write_reg(g, 0x90, (0<<7)|(16<<0)); /* Frame Cycle Contral */ + write_reg(g, 0x92, 0x0000); /* Panel Interface Contral 2 */ + write_reg(g, 0x93, 0x0001); /* Panel Interface Contral 3 */ + write_reg(g, 0x95, 0x0110); /* Frame Cycle Contral */ + write_reg(g, 0x97, (0<<8)); + write_reg(g, 0x98, 0x0000); /* Frame Cycle Contral */ + write_reg(g, 0x07, 0x0133); + } + else if( DeviceCode == 0x9325 || DeviceCode == 0x9328) + { + + write_reg(g, 0x00e7, 0x0010); + write_reg(g, 0x0000, 0x0001); /* start internal osc */ + write_reg(g, 0x0001, 0x0100); + write_reg(g, 0x0002, 0x0700); /* power on sequence */ + write_reg(g, 0x0003, (1<<12)|(1<<5)|(1<<4)|(0<<3) ); /* importance */ + write_reg(g, 0x0004, 0x0000); + write_reg(g, 0x0008, 0x0207); + write_reg(g, 0x0009, 0x0000); + write_reg(g, 0x000a, 0x0000); /* display setting */ + write_reg(g, 0x000c, 0x0001); /* display setting */ + write_reg(g, 0x000d, 0x0000); + write_reg(g, 0x000f, 0x0000); + /* Power On sequence */ + write_reg(g, 0x0010, 0x0000); + write_reg(g, 0x0011, 0x0007); + write_reg(g, 0x0012, 0x0000); + write_reg(g, 0x0013, 0x0000); + gfxSleepMilliseconds(50); /* delay 50 ms */ + write_reg(g, 0x0010, 0x1590); + write_reg(g, 0x0011, 0x0227); + gfxSleepMilliseconds(50); /* delay 50 ms */ + write_reg(g, 0x0012, 0x009c); + gfxSleepMilliseconds(50); /* delay 50 ms */ + write_reg(g, 0x0013, 0x1900); + write_reg(g, 0x0029, 0x0023); + write_reg(g, 0x002b, 0x000e); + gfxSleepMilliseconds(50); /* delay 50 ms */ + write_reg(g, 0x0020, 0x0000); + write_reg(g, 0x0021, 0x0000); + gfxSleepMilliseconds(50); /* delay 50 ms */ + write_reg(g, 0x0030, 0x0007); + write_reg(g, 0x0031, 0x0707); + write_reg(g, 0x0032, 0x0006); + write_reg(g, 0x0035, 0x0704); + write_reg(g, 0x0036, 0x1f04); + write_reg(g, 0x0037, 0x0004); + write_reg(g, 0x0038, 0x0000); + write_reg(g, 0x0039, 0x0706); + write_reg(g, 0x003c, 0x0701); + write_reg(g, 0x003d, 0x000f); + gfxSleepMilliseconds(50); /* delay 50 ms */ + write_reg(g, 0x0050, 0x0000); + write_reg(g, 0x0051, 0x00ef); + write_reg(g, 0x0052, 0x0000); + write_reg(g, 0x0053, 0x013f); + write_reg(g, 0x0060, 0xa700); + write_reg(g, 0x0061, 0x0001); + write_reg(g, 0x006a, 0x0000); + write_reg(g, 0x0080, 0x0000); + write_reg(g, 0x0081, 0x0000); + write_reg(g, 0x0082, 0x0000); + write_reg(g, 0x0083, 0x0000); + write_reg(g, 0x0084, 0x0000); + write_reg(g, 0x0085, 0x0000); + + write_reg(g, 0x0090, 0x0010); + write_reg(g, 0x0092, 0x0000); + write_reg(g, 0x0093, 0x0003); + write_reg(g, 0x0095, 0x0110); + write_reg(g, 0x0097, 0x0000); + write_reg(g, 0x0098, 0x0000); + /* display on sequence */ + write_reg(g, 0x0007, 0x0133); + + write_reg(g, 0x0020, 0x0000); + write_reg(g, 0x0021, 0x0000); + } + + gfxSleepMilliseconds(100); /* delay 50 ms */ + + + // 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)); + //write_data(g, COLOR2NATIVE(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, 0xa700); + 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, 0x2700); + 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, 0x2700); + 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, 0xa700); + 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/ILI93xx/gdisp_lld_config.h b/drivers/gdisp/ILI93xx/gdisp_lld_config.h new file mode 100644 index 00000000..0fd5ffac --- /dev/null +++ b/drivers/gdisp/ILI93xx/gdisp_lld_config.h @@ -0,0 +1,22 @@ +/* + * 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/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 */
-/** @} */
|