From 34075031de2dd0695e0e239c1dad0429fcc3e2f1 Mon Sep 17 00:00:00 2001 From: Andrew Hannam Date: Mon, 6 Aug 2012 11:30:02 +1000 Subject: Backport GDISP low level drivers to GLCD see GLCD/readme.txt --- halext/include/gdisp.h | 20 -------------------- halext/include/gdisp_lld.h | 24 ++++++++++++++++++++++++ halext/include/glcd.h | 30 +++++++++++++++++++----------- 3 files changed, 43 insertions(+), 31 deletions(-) (limited to 'halext/include') diff --git a/halext/include/gdisp.h b/halext/include/gdisp.h index 24a8b1b4..d284c125 100644 --- a/halext/include/gdisp.h +++ b/halext/include/gdisp.h @@ -59,26 +59,6 @@ #define Pink HTML2COLOR(0xFFC0CB) #define SkyBlue HTML2COLOR(0x87CEEB) -/** - * @brief Driver Control Constants - * @detail Unsupported control codes are ignored. - * @note The value parameter should always be typecast to (void *). - * @note There are some predefined and some specific to the low level driver. - * @note GDISP_CONTROL_POWER - Takes a gdisp_powermode_t - * GDISP_CONTROL_ORIENTATION - Takes a gdisp_orientation_t - * GDISP_CONTROL_BACKLIGHT - Takes an int from 0 to 100. For a driver - * that only supports off/on anything other - * than zero is on. - * GDISP_CONTROL_CONTRAST - Takes an int from 0 to 100. - * GDISP_CONTROL_LLD - Low level driver control constants start at - * this value. - */ -#define GDISP_CONTROL_POWER 0 -#define GDISP_CONTROL_ORIENTATION 1 -#define GDISP_CONTROL_BACKLIGHT 2 -#define GDISP_CONTROL_CONTRAST 3 -#define GDISP_CONTROL_LLD 1000 - /*===========================================================================*/ /* Driver pre-compile time settings. */ /*===========================================================================*/ diff --git a/halext/include/gdisp_lld.h b/halext/include/gdisp_lld.h index bef4f96a..970fd712 100644 --- a/halext/include/gdisp_lld.h +++ b/halext/include/gdisp_lld.h @@ -36,6 +36,30 @@ #include "gdisp_lld_config.h" +/*===========================================================================*/ +/* Constants. */ +/*===========================================================================*/ + +/** + * @brief Driver Control Constants + * @detail Unsupported control codes are ignored. + * @note The value parameter should always be typecast to (void *). + * @note There are some predefined and some specific to the low level driver. + * @note GDISP_CONTROL_POWER - Takes a gdisp_powermode_t + * GDISP_CONTROL_ORIENTATION - Takes a gdisp_orientation_t + * GDISP_CONTROL_BACKLIGHT - Takes an int from 0 to 100. For a driver + * that only supports off/on anything other + * than zero is on. + * GDISP_CONTROL_CONTRAST - Takes an int from 0 to 100. + * GDISP_CONTROL_LLD - Low level driver control constants start at + * this value. + */ +#define GDISP_CONTROL_POWER 0 +#define GDISP_CONTROL_ORIENTATION 1 +#define GDISP_CONTROL_BACKLIGHT 2 +#define GDISP_CONTROL_CONTRAST 3 +#define GDISP_CONTROL_LLD 1000 + /*===========================================================================*/ /* Error checks. */ /*===========================================================================*/ diff --git a/halext/include/glcd.h b/halext/include/glcd.h index 0712ed02..54c5158d 100644 --- a/halext/include/glcd.h +++ b/halext/include/glcd.h @@ -45,13 +45,21 @@ enum powermode {powerOff, powerOn, sleepOn, sleepOff}; #define sleepOn powerSleep #define sleepOff powerOn -#define font_Small (&fontSmall) -#define font_Larger (&fontLarger) -#define font_MediumBold (&fontUI1) -#define font_LargeNumbers (&fontLargeNumbers) +#define font_Small (&fontSmall) +#define font_SmallDouble (&fontSmallDouble) +#define font_SmallNarrow (&fontSmall) +#define font_Larger (&fontLarger) +#define font_LargerDouble (&fontLargerDouble) +#define font_LargerNarrow (&fontLargerNarrow) +#define font_MediumBold (&fontUI1) +#define font_MediumBoldDouble (&fontUI1Double) +#define font_MediumBoldNarrow (&fontUI1Narrow) +#define font_LargeNumbers (&fontLargeNumbers) +#define font_LargeNumbersDouble (&fontLargeNumbersDouble) +#define font_LargeNumbersNarrow (&fontLargeNumbersNarrow) #define GLCDDriver GDISPDriver -#define GLCDD1 GDISP1 +#define GLCDD GDISP enum glcd_result { GLCD_DONE, GLCD_FAILED, @@ -63,10 +71,10 @@ typedef enum glcd_result glcd_result_t; /* Core functions */ #define lcdInit(dvr) gdispInit(dvr) #define lcdClear(color) (gdispClear(color), GLCD_DONE) -#define lcdSetOrientation(newO) (gdispSetOrientation(newO), (GDISP1.Orientation == (newO) ? GLCD_DONE : GLCD_FAILED)) +#define lcdSetOrientation(newO) (gdispControl(GDISP_CONTROL_ORIENTATION, (void *)(int)newO), (GDISP1.Orientation == (newO) ? GLCD_DONE : GLCD_FAILED)) #define lcdFillArea(x0,y0,x1,y1,c) (gdispFillArea((x0),(y0),(x1)-(x0)+1,(y1)-(y0)+1,(c)), GLCD_DONE) #define lcdWriteArea(x0,y0,x1,y1,b,n) (gdispBlitArea((x0),(y0),(x1)-(x0)+1,(y1)-(y0)+1,(b)), GLCD_DONE) -#define lcdSetPowerMode(pm) (gdispSetPowerMode(pm), (GDISP1.Powermode == (pm) ? GLCD_DONE : GLCD_FAILED)) +#define lcdSetPowerMode(pm) (gdispControl(GDISP_CONTROL_POWER, (void *)(int)pm), (GDISP1.Powermode == (pm) ? GLCD_DONE : GLCD_FAILED)) /* Drawing functions */ #define lcdDrawPixel(x,y,c) (gdispDrawPixel((x),(y),(c)), GLCD_DONE) @@ -83,12 +91,12 @@ typedef enum glcd_result glcd_result_t; /* Character measuring functions */ #define lcdMeasureChar(h,f) (gdispGetCharWidth((h),(f))+(f)->charPadding) #define lcdMeasureString(s,f) (gdispGetStringWidth((s),(f))+(f)->charPadding) -#define lcdGetFontHeight(font) gdispGetFontMetric(font, fontHeight) +#define lcdGetFontHeight(f) gdispGetFontMetric((f), fontHeight) /* Size and orientation related */ -#define lcdGetHeight() (GDISP1.Height) -#define lcdGetWidth() (GDISP1.Width) -#define lcdGetOrientation() (GDISP1.Orientation) +#define lcdGetHeight() (GDISP.Height) +#define lcdGetWidth() (GDISP.Width) +#define lcdGetOrientation() (GDISP.Orientation) /* BGR->RGB and pixel readback */ #define lcdBGR2RGB(c) RGB2COLOR(BLUE_OF(c),GREEN_OF(c),RED_OF(c)) -- cgit v1.2.3