本文整理汇总了C++中LcdPanel类的典型用法代码示例。如果您正苦于以下问题:C++ LcdPanel类的具体用法?C++ LcdPanel怎么用?C++ LcdPanel使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了LcdPanel类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: run
void run() {
// reset is on PE1 and RS (D/CX) is on PD11
GpioE<DefaultDigitalOutputFeature<1> > pe;
GpioD<DefaultFsmcAlternateFunctionFeature<11>> pd;
// set up the FSMC with RS=A16 (PD11). The 60Mhz FSMC bus on the F4 needs
// slower timings.
#if defined(STM32PLUS_F1)
Fsmc8080LcdTiming fsmcTiming(0,2);
#else
Fsmc8080LcdTiming fsmcTiming(2,10);
#endif
_accessMode=new LcdAccessMode(fsmcTiming,16,pe[1]);
// declare a panel
_gl=new LcdPanel(*_accessMode);
// apply gamma settings
ILI9481Gamma gamma(0,0xf3,0,0xbc,0x50,0x1f,0,7,0x7f,0x7,0xf,0);
_gl->applyGamma(gamma);
// clear to black while the lights are out
_gl->setBackground(0);
_gl->clearScreen();
// create the backlight on timer4, channel2 (PD13)
DefaultBacklight backlight;
// fade up to 100% in 4ms steps
backlight.fadeTo(100,4);
// create a font
_font=new Font_VOLTER__28GOLDFISH_299;
*_gl << *_font;
for(;;) {
jpegTest();
lzgTest();
basicColoursTest();
textTest();
scrollTest();
ellipseTest();
gradientTest();
rectTest();
lineTest();
clearTest();
sleepTest();
}
}
示例2: run
void run() {
// reset is on PE1 and RS (D/CX) is on PE3
GpioE<DefaultDigitalOutputFeature<1>,
DefaultFsmcAlternateFunctionFeature<3> > pe;
// set up the FSMC timing. these numbers (particularly the data setup time) are dependent on
// both the FSMC bus speed and the panel timing parameters.
Fsmc8080LcdTiming fsmcTiming(2,4);
// set up the FSMC with RS=A19 (PE3)
_accessMode=new LcdAccessMode(fsmcTiming,19,pe[1]);
_gl=new LcdPanel(*_accessMode);
// apply gamma settings
ST7783Gamma gamma(0,0x0107,0,0x0203,0x0402,0,0x0207,0,0x0203,0x0403);
_gl->applyGamma(gamma);
// clear to black while the lights are out
_gl->setBackground(0);
_gl->clearScreen();
// create the backlight on timer4, channel2 (PD13)
DefaultBacklight backlight;
// fade up to 100% in 4ms steps
backlight.fadeTo(100,4);
// Create a font. A wide range of sample fonts are available. See the
// "lib/include/display/graphic/fonts" directory for a full list and
// you can always download and convert your own using the FontConv utility.
_font=new Font_VOLTER__28GOLDFISH_299;
*_gl << *_font;
_gl->setForeground(ColourNames::RED);
_gl->fillRectangle(Rectangle(10,20,30,40));
for(;;) {
jpegTest();
lzgTest();
basicColoursTest();
textTest();
ellipseTest();
gradientTest();
rectTest();
lineTest();
clearTest();
sleepTest();
}
}
示例3: run
void run() {
// reset is on PE1 and RS (D/CX) is on PD11
GpioE<DefaultDigitalOutputFeature<1> > pe;
GpioD<DefaultFsmcAlternateFunctionFeature<11> > pd;
// set up the FSMC timing. these numbers (particularly the data setup time) are dependent on
// both the FSMC bus speed and the panel timing parameters.
Fsmc8080LcdTiming fsmcTiming(0,3);
// set up the FSMC with RS=A16 (PD11)
_accessMode=new LcdAccessMode(fsmcTiming,16,pe[1]);
_gl=new LcdPanel(*_accessMode);
// clear to black while the lights are out
_gl->setBackground(0);
_gl->clearScreen();
// create the backlight on timer4, channel2 (PD13)
DefaultBacklight backlight;
// fade up to 100% in 4ms steps
backlight.fadeTo(100,4);
// create a font
_font=new Font_VOLTER__28GOLDFISH_299;
*_gl << *_font;
_gl->setForeground(ColourNames::RED);
_gl->fillRectangle(Rectangle(10,20,5,10));
for(;;) {
jpegTest();
lzgTest();
basicColoursTest();
textTest();
scrollTest();
ellipseTest();
gradientTest();
rectTest();
lineTest();
clearTest();
sleepTest();
}
}
示例4: run
void run() {
// declare the access mode
LcdAccessMode accessMode;
// declare a panel
_gl=new LcdPanel(accessMode);
// apply the gamma curve. Note that gammas are panel specific. This curve is appropriate
// to a replacement (non-original) panel obtained from ebay.
uint8_t levels[13]={ 0xe,0,1,1,0,0,0,0,0,0,3,4,0 };
R61523Gamma gamma(levels);
_gl->applyGamma(gamma);
// clear to black while the lights are out
_gl->setBackground(0);
_gl->clearScreen();
// create the backlight using default template parameters
_backlight=new LcdBacklight(accessMode);
// fade up the backlight to 100% using the hardware to do the smooth fade
_backlight->setPercentage(100);
// A wide range of sample fonts are available. See the "lib/include/display/graphic/fonts"
// directory for a full list and you can always download and convert your own using the
// FontConv utility.
*_gl << _font;
for(;;) {
textTest();
lzgTest();
basicColoursTest();
backlightTest();
gradientTest();
rectTest();
lineTest();
ellipseTest();
clearTest();
sleepTest();
}
}
示例5: initDisplay
void initDisplay(){
// we've got RESET on PE1, backlight on PD13 and RS (D/CX) on PD11
GpioE<DefaultDigitalOutputFeature<1>> pe;
GpioD<DefaultDigitalOutputFeature<13>,DefaultFsmcAlternateFunctionFeature<11>> pd;
// set up the FSMC timing for this panel
Fsmc8080LcdTiming fsmcTiming(2,5);
// set up the FSMC on bank 1 with A16 as the RS line (PD11)
_accessMode=new LcdAccessMode(fsmcTiming,16,pe[1]);
// create the LCD interface in landscape mode
// this will power it up and do the reset sequence
lcd=new LcdPanel(*_accessMode);
HX8352AGamma gamma(0xA0,0x03,0x00,0x45,0x03,0x47,0x23,0x77,0x01,0x1F,0x0F,0x03);
// jb settings: check which one gives better colors
//HX8352AGamma gamma(0xF0,0x07,0x00,0x43,0x16,0x16,0x43,0x77,0x00,0x1E,0x0F,0x00);
lcd->applyGamma(gamma);
// create a font and select it for stream operations
_font=new Font_NINTENDO_DS_BIOS16();
*lcd << *_font;
lcd->setFontFilledBackground(true);
// turn on the backlight at 100%
backlight=new DefaultBacklight;
//uint16_t backlightPercentage=100;
backlight->fadeTo(100,4);
// setup font/background colors
bgcolor = ColourNames::BLACK;
fgcolor = ColourNames::YELLOW;
lcd->setBackground(bgcolor);
lcd->setForeground(fgcolor);
}
示例6: initialiseLcd
void initialiseLcd() {
// reset is on PE1 and RS (D/CX) is on PE3
GpioE<DefaultDigitalOutputFeature<1>,
DefaultFsmcAlternateFunctionFeature<3>> pe;
// set up the FSMC timing. these numbers (particularly the data setup time) are dependent on
// both the FSMC bus speed and the panel timing parameters.
Fsmc8080LcdTiming fsmcTiming(2,4);
// set up the FSMC with RS=A19 (PE3)
_accessMode=new LcdAccessMode(fsmcTiming,19,pe[1]);
_tft=new LcdPanel(*_accessMode);
// apply gamma settings
ST7783Gamma gamma(0,0x0107,0,0x0203,0x0402,0,0x0207,0,0x0203,0x0403);
_tft->applyGamma(gamma);
// clear to black while the lights are out
_tft->setBackground(ColourNames::BLACK);
_tft->setForeground(ColourNames::WHITE);
_tft->clearScreen();
// fade up to 100% in 4ms steps
_backlight=new DefaultBacklight;
_backlight->fadeTo(100,4);
// create a font
_font=new Font_VOLTER__28GOLDFISH_299;
*_tft << *_font;
_line=0;
}
示例7: textTest
void textTest() {
const char *str="The quick brown fox";
Size size;
Point p;
uint32_t i,start;
prompt("Stream operators test");
*_gl << Point::Origin << "Let's see PI:";
for(i=0;i<=7;i++)
*_gl << Point(0,(1+i)*_font.getHeight()) << DoublePrecision(3.1415926535,i);
MillisecondTimer::delay(5000);
prompt("Opaque text test");
size=_gl->measureString(_font,str);
for(i=0,start=MillisecondTimer::millis();MillisecondTimer::millis()-start<5000;i++) {
p.X=rand() % (_gl->getXmax()-size.Width);
p.Y=rand() % (_gl->getYmax()-size.Height);
_gl->setForeground(rand());
_gl->writeString(p,_font,str);
}
}
示例8: doGradientFills
void doGradientFills(Direction dir) {
Rectangle rc;
uint16_t i;
static uint32_t colours[7]={
ColourNames::RED,
ColourNames::GREEN,
ColourNames::BLUE,
ColourNames::CYAN,
ColourNames::MAGENTA,
ColourNames::YELLOW,
ColourNames::WHITE,
};
rc.Width=_gl->getXmax()+1;
rc.Height=(_gl->getYmax()+1)/2;
for(i=0;i<sizeof(colours)/sizeof(colours[0]);i++) {
rc.X=0;
rc.Y=0;
_gl->gradientFillRectangle(rc,dir,ColourNames::BLACK,colours[i]);
rc.Y=rc.Height;
_gl->gradientFillRectangle(rc,dir,colours[i],ColourNames::BLACK);
MillisecondTimer::delay(1000);
}
}
示例9: jpegTest
void jpegTest() {
prompt("JPEG bitmap test");
// draw it centered
LinearBufferInputOutputStream compressedData((uint8_t *)&JpegTest0Pixels,(uint32_t)&JpegTest0PixelsSize);
_gl->drawJpeg(Rectangle((_gl->getWidth()-240)/2,(_gl->getHeight()-320)/2,240,320),compressedData);
MillisecondTimer::delay(3000);
}
示例10: prompt
void prompt(const char *prompt) {
_gl->setBackground(ColourNames::BLACK);
_gl->clearScreen();
_gl->setForeground(ColourNames::GHOSTWHITE);
*_gl << Point(0,0) << prompt;
MillisecondTimer::delay(2000);
_gl->clearScreen();
}
示例11: clearTest
void clearTest() {
uint32_t start;
prompt("Clear screen test");
for(start=MillisecondTimer::millis();MillisecondTimer::millis()-start<5000;) {
_gl->setBackground(rand());
_gl->clearScreen();
}
}
示例12: jpegTest
void jpegTest() {
if(_gl->getHeight()==320 && _gl->getWidth()==240) {
prompt("JPEG bitmap test");
LinearBufferInputOutputStream compressedData((uint8_t *)&JpegTest0Pixels,(uint32_t)&JpegTest0PixelsSize);
_gl->drawJpeg(Rectangle(0,0,240,320),compressedData);
MillisecondTimer::delay(3000);
}
}
示例13: error
void error(const std::string& str) {
_tft->setBackground(ColourNames::WHITE);
_tft->setForeground(ColourNames::BLACK);
_tft->clearScreen();
LinearBufferInputOutputStream compressedData((uint8_t *)&ErrorPixels,(uint32_t)&ErrorPixelsSize);
_tft->drawJpeg(Rectangle(95,135,50,50),compressedData);
*_tft << Point(2,2) << str.c_str();
errorRestart();
}
示例14: drawCompressedBitmap
void drawCompressedBitmap(uint8_t *pixels,uint32_t size,uint16_t width,uint16_t height,bool useDma,DmaFsmcLcdMemoryCopyFeature<LcdAccessMode>& dma) {
_gl->setBackground(ColourNames::WHITE);
_gl->clearScreen();
LinearBufferInputOutputStream compressedData(pixels,size);
LzgDecompressionStream decompressor(compressedData,size);
if(useDma) {
_gl->drawBitmap(
Rectangle(((_gl->getXmax()+1)-width)/2,
((_gl->getYmax()+1)-height)/2,
width,height),
decompressor,
dma);
}
else {
_gl->drawBitmap(
Rectangle(((_gl->getXmax()+1)-width)/2,
((_gl->getYmax()+1)-height)/2,
width,height),
decompressor);
}
MillisecondTimer::delay(3000);
}
示例15: clearTest
void clearTest() {
int i;
uint32_t start;
prompt("Clear screen test");
for(i=0;i<200;i++) {
_gl->setBackground(rand());
start=MillisecondTimer::millis();
_gl->clearScreen();
stopTimer(" to clear",MillisecondTimer::millis()-start);
}
}