Tidy up some code so it looks more standard accross drivers

ugfx_release_2.6
inmarket 2013-09-30 17:04:13 +10:00
parent fd01f1a4f3
commit c132a5bb8a
2 changed files with 53 additions and 60 deletions

View File

@ -17,9 +17,6 @@
#if GFX_USE_GDISP
#define GDISP_LLD_DECLARATIONS
#include "gdisp/lld/gdisp_lld.h"
/**
* 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
@ -52,10 +49,6 @@
* orientation support and the streaming operations will be emulated (as described above).
*/
/*===========================================================================*/
/* Driver local definitions. */
/*===========================================================================*/
#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
@ -65,7 +58,14 @@
#undef GDISP_SCREEN_WIDTH
#endif
#define GDISP_LLD_DECLARATIONS
#include "gdisp/lld/gdisp_lld.h"
#include "gdisp_lld_board.h"
/*===========================================================================*/
/* Driver local definitions. */
/*===========================================================================*/
#include "GE8.h"
#define GDISP_SCAN_LINES 132

View File

@ -8,14 +8,11 @@
/**
* @file drivers/gdisp/SSD1289/gdisp_lld.c
* @brief GDISP Graphics Driver subsystem low level driver source for the SSD1289 display.
*
* @addtogroup GDISP
* @{
*/
#include "gfx.h"
#if GFX_USE_GDISP /*|| defined(__DOXYGEN__)*/
#if GFX_USE_GDISP
#define GDISP_LLD_DECLARATIONS
#include "gdisp/lld/gdisp_lld.h"
@ -43,9 +40,8 @@
/*===========================================================================*/
// Some common routines and macros
#define dummy_read() { volatile uint16_t dummy; dummy = read_data(); (void) dummy; }
#define write_reg(reg, data) { write_index(reg); write_data(data); }
#define delay(us) gfxSleepMicroseconds(us)
#define delayms(ms) gfxSleepMilliseconds(ms)
static void set_viewport(GDISPDriver* g) {
/* Reg 0x44 - Horizontal RAM address position
@ -107,54 +103,54 @@ LLDSPEC bool_t gdisp_lld_init(GDISPDriver *g) {
// Hardware reset
setpin_reset(TRUE);
delayms(20);
gfxSleepMilliseconds(20);
setpin_reset(FALSE);
delayms(20);
gfxSleepMilliseconds(20);
// Get the bus for the following initialisation commands
acquire_bus();
write_reg(0x0000,0x0001); delay(5);
write_reg(0x0003,0xA8A4); delay(5);
write_reg(0x000C,0x0000); delay(5);
write_reg(0x000D,0x080C); delay(5);
write_reg(0x000E,0x2B00); delay(5);
write_reg(0x001E,0x00B0); delay(5);
write_reg(0x0001,0x2B3F); delay(5);
write_reg(0x0002,0x0600); delay(5);
write_reg(0x0010,0x0000); delay(5);
write_reg(0x0011,0x6070); delay(5);
write_reg(0x0005,0x0000); delay(5);
write_reg(0x0006,0x0000); delay(5);
write_reg(0x0016,0xEF1C); delay(5);
write_reg(0x0017,0x0003); delay(5);
write_reg(0x0007,0x0133); delay(5);
write_reg(0x000B,0x0000); delay(5);
write_reg(0x000F,0x0000); delay(5);
write_reg(0x0041,0x0000); delay(5);
write_reg(0x0042,0x0000); delay(5);
write_reg(0x0048,0x0000); delay(5);
write_reg(0x0049,0x013F); delay(5);
write_reg(0x004A,0x0000); delay(5);
write_reg(0x004B,0x0000); delay(5);
write_reg(0x0044,0xEF00); delay(5);
write_reg(0x0045,0x0000); delay(5);
write_reg(0x0046,0x013F); delay(5);
write_reg(0x0030,0x0707); delay(5);
write_reg(0x0031,0x0204); delay(5);
write_reg(0x0032,0x0204); delay(5);
write_reg(0x0033,0x0502); delay(5);
write_reg(0x0034,0x0507); delay(5);
write_reg(0x0035,0x0204); delay(5);
write_reg(0x0036,0x0204); delay(5);
write_reg(0x0037,0x0502); delay(5);
write_reg(0x003A,0x0302); delay(5);
write_reg(0x003B,0x0302); delay(5);
write_reg(0x0023,0x0000); delay(5);
write_reg(0x0024,0x0000); delay(5);
write_reg(0x0025,0x8000); delay(5);
write_reg(0x004f,0x0000); delay(5);
write_reg(0x004e,0x0000); delay(5);
write_reg(0x0000,0x0001); gfxSleepMicroseconds(5);
write_reg(0x0003,0xA8A4); gfxSleepMicroseconds(5);
write_reg(0x000C,0x0000); gfxSleepMicroseconds(5);
write_reg(0x000D,0x080C); gfxSleepMicroseconds(5);
write_reg(0x000E,0x2B00); gfxSleepMicroseconds(5);
write_reg(0x001E,0x00B0); gfxSleepMicroseconds(5);
write_reg(0x0001,0x2B3F); gfxSleepMicroseconds(5);
write_reg(0x0002,0x0600); gfxSleepMicroseconds(5);
write_reg(0x0010,0x0000); gfxSleepMicroseconds(5);
write_reg(0x0011,0x6070); gfxSleepMicroseconds(5);
write_reg(0x0005,0x0000); gfxSleepMicroseconds(5);
write_reg(0x0006,0x0000); gfxSleepMicroseconds(5);
write_reg(0x0016,0xEF1C); gfxSleepMicroseconds(5);
write_reg(0x0017,0x0003); gfxSleepMicroseconds(5);
write_reg(0x0007,0x0133); gfxSleepMicroseconds(5);
write_reg(0x000B,0x0000); gfxSleepMicroseconds(5);
write_reg(0x000F,0x0000); gfxSleepMicroseconds(5);
write_reg(0x0041,0x0000); gfxSleepMicroseconds(5);
write_reg(0x0042,0x0000); gfxSleepMicroseconds(5);
write_reg(0x0048,0x0000); gfxSleepMicroseconds(5);
write_reg(0x0049,0x013F); gfxSleepMicroseconds(5);
write_reg(0x004A,0x0000); gfxSleepMicroseconds(5);
write_reg(0x004B,0x0000); gfxSleepMicroseconds(5);
write_reg(0x0044,0xEF00); gfxSleepMicroseconds(5);
write_reg(0x0045,0x0000); gfxSleepMicroseconds(5);
write_reg(0x0046,0x013F); gfxSleepMicroseconds(5);
write_reg(0x0030,0x0707); gfxSleepMicroseconds(5);
write_reg(0x0031,0x0204); gfxSleepMicroseconds(5);
write_reg(0x0032,0x0204); gfxSleepMicroseconds(5);
write_reg(0x0033,0x0502); gfxSleepMicroseconds(5);
write_reg(0x0034,0x0507); gfxSleepMicroseconds(5);
write_reg(0x0035,0x0204); gfxSleepMicroseconds(5);
write_reg(0x0036,0x0204); gfxSleepMicroseconds(5);
write_reg(0x0037,0x0502); gfxSleepMicroseconds(5);
write_reg(0x003A,0x0302); gfxSleepMicroseconds(5);
write_reg(0x003B,0x0302); gfxSleepMicroseconds(5);
write_reg(0x0023,0x0000); gfxSleepMicroseconds(5);
write_reg(0x0024,0x0000); gfxSleepMicroseconds(5);
write_reg(0x0025,0x8000); gfxSleepMicroseconds(5);
write_reg(0x004f,0x0000); gfxSleepMicroseconds(5);
write_reg(0x004e,0x0000); gfxSleepMicroseconds(5);
// Release the bus
release_bus();
@ -187,12 +183,10 @@ LLDSPEC bool_t gdisp_lld_init(GDISPDriver *g) {
#if GDISP_HARDWARE_STREAM_READ
LLDSPEC void gdisp_lld_read_start(GDISPDriver *g) {
uint16_t dummy;
acquire_bus();
set_viewport(g);
setreadmode();
dummy = read_data(); // dummy read
dummy_read();
}
LLDSPEC color_t gdisp_lld_read_color(GDISPDriver *g) {
return read_data();
@ -318,4 +312,3 @@ LLDSPEC bool_t gdisp_lld_init(GDISPDriver *g) {
#endif
#endif /* GFX_USE_GDISP */
/** @} */