Dear all Ti Engineers
https://e2e.ti.com/support/microcontrollers/other/f/908/p/836379/3118630#3118630
[ Logic calculations ]
<Cfal96x64x16.c>
----------------------------------------------------------------------------------------
#define DPYCOLORTRANSLATE8(c) ( ( ( (c) & 0x00e00000) >> 16) | \
( ( (c) & 0x0000e000) >> 11) | \
( ( (c) & 0x000000c0) >> 6) )
-----------------------------------------------------------------------------------------
RGB888 24bit 100% red (0x00FF0000) --> RGB332 8 bit 100% red(0xE0), Converter OK
(c) 0x00FF0000 (c) 0x00FF0000 (c) 0x00FF0000
& Mask 0x000E0000 & Mask 0x0000E000 & Mask 0x000000C0
------------------------------- -------------------------------- --------------------------------
>> 16 0x000E0000 >> 11 0x00000000 >> 6 0x00000000
------------------------------ --------------------------------- -----------------------------------
0x0000_ 00E0 0x0000_0000 0x0000_0000
[ Result ]
0x0000_00E0
0x0000_0000
| 0x0000_0000
----------------------
0X000_00E0 => 0xE0
Q1> What does pvDisplayData pointer value mean 0 ?
In TM4C-GRL-UG documentation it's called a pointer.
pvDisplayData is a pointer to the driver-specific data for this display driver.
<Cfal96x64x16.c>
-----------------------------------------------------------------------------------------
const tDisplay g_sCFAL96x64x16 =
{
sizeof(tDisplay), // int32_t i32Size
0, // void *pvDisplayData
96, // uint16_t ui16Width
64, // uint16_t ui16Height
CFAL96x64x16PixelDraw, // void (*pfnPixelDraw)
CFAL96x64x16PixelDrawMultiple, // void (*pfnPixelDrawMultiple)
CFAL96x64x16LineDrawH, // void (*pfnLineDrawH)
CFAL96x64x16LineDrawV, // void (*pfnLineDrawV)
CFAL96x64x16RectFill, // void (*pfnRectFill)
CFAL96x64x16ColorTranslate, // uint32_t (*pfnColorTranslate)
CFAL96x64x16Flush // void (*pfnFlush)
};
-----------------------------------------------------------------------------------------
Regards.
Jame,Shin