📄 lcd_palette.h
字号:
/*-----------------------------------------------------------------------------
@@
@@ Copyright (c) 1999 Sharp Corporation All rights reserved.
@@
@@ (Summary) : The file about color palette of LCD controller
@@
@@ (Comment) :
@@
@@ (Author) : Tsuneo TOMITA
@@
@@ (History) : Date Modifier Comment
@@ 2001/1/30 K.FUKUDA added prefix
@@ (RCS ID) :
@@
-----------------------------------------------------------------------------*/
#ifndef LCD_PALETTE
#define LCD_PALETTE
/******************************************************************************
@@
@@ [Name] : LCDPackPalette
@@
@@ [Summary] : Transform into palette data (APD_LCD_RGB_COLOR -> pixel data)
@@
@@ [Argument] : palette_data : Pointer to buffer of RGB color model data
@@
@@ [Return] : Transformed palette color data
@@
@@ [Desc] : Transform RGB color model data into palette data
@@ of LCD controller.
@@
@@ [History] : Date Modifier Comment
@@
@@ [END]
******************************************************************************/
APD_INLINE unsigned short LCDPackPalette(
APD_LCD_RGB_COLOR *palette_data
)
{
unsigned short color; /* palette data */
color = palette_data->intensity & 0x01;
color = (color<<5) | (palette_data->blue & 0x1F);
color = (color<<5) | (palette_data->green & 0x1F);
color = (color<<5) | (palette_data->red & 0x1F);
return(color);
}
/******************************************************************************
@@
@@ [Name] : LCDUnpackPalette
@@
@@ [Summary] : Transform palette data into RGB color model data
@@ (pixel -> APD_LCD_RGB_COLOR)
@@
@@ [Argument] : palette_data : Pointer to buffer of RGB color model data
@@ color : palette color data
@@
@@ [Return] : None
@@
@@ [Desc] : Transform palette data into color data.
@@
@@ [History] : Date Modifier Comment
@@
@@ [END]
******************************************************************************/
APD_INLINE void LCDUnpackPalette(
APD_LCD_RGB_COLOR *palette_data,
unsigned short color
)
{
palette_data->red = color & 0x1F;
palette_data->green = (color & 0x3E0)>>5;
palette_data->blue = (color & 0x7C00)>>10;
palette_data->intensity = color>>15;
return;
}
/******************************************************************************
@@
@@ [Name] : LCDSetPalette
@@
@@ [Summary] : Set color palette of LCD controller
@@
@@ [Argument] : palette_adrs : Address of color palette set palette data
@@ color : Palette data
@@
@@ [Return] : None
@@
@@ [Desc] : Set the value to register of LCD controller color palette.
@@
@@ [History] : Date Modifier Comment
@@
@@ [END]
******************************************************************************/
APD_INLINE void LCDSetPalette(
volatile APD_REG *palette_adrs,
unsigned short *color
)
{
APD_REG p;
#ifdef APD_LCD_BEBO
p = color[0];
p = (p<<16) | color[1];
#else /* APD_LCD_LEBO */
p = color[1];
p = (p<<16) | color[0];
#endif /* APD_LCD_BEBO */
apd_WriteReg(palette_adrs, p);
}
/******************************************************************************
@@
@@ [Name] : LCDGetPalette
@@
@@ [Summary] : Read color palette LCD controller
@@
@@ [Argument] : palette_adrs : Address read palette data
@@ color : Pointer to buffer of palette data
@@
@@ [Return] : None
@@
@@ [Desc] : Read the register of LCD controller color palette.
@@
@@ [History] : Date Modifier Comment
@@
@@ [END]
******************************************************************************/
APD_INLINE void LCDGetPalette(
volatile APD_REG *palette_adrs,
unsigned short *color
)
{
APD_REG p;
p = apd_ReadReg(palette_adrs);
#ifdef APD_LCD_BEBO
color[1] = (unsigned short)(p & 0xFFFF);
color[0] = (unsigned short)(p>>16);
#else /* APD_LCD_LEBO */
color[0] = (unsigned short)(p & 0xFFFF);
color[1] = (unsigned short)(p>>16);
#endif /* APD_LCD_BEBO */
}
#endif /* APD_LCD_PALETTE */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -