Graphical demo for the LPC4088 Experiment Base Board with one of the Display Expansion Kits. This program displays how to write text in different fonts.

Dependencies:   EALib mbed

Committer:
embeddedartists
Date:
Thu Jun 25 10:30:15 2015 +0000
Revision:
0:5e5e9ec91fc8
First version

Who changed what in which revision?

UserRevisionLine numberNew contents of line
embeddedartists 0:5e5e9ec91fc8 1 /*
embeddedartists 0:5e5e9ec91fc8 2 * Copyright 2013 Embedded Artists AB
embeddedartists 0:5e5e9ec91fc8 3 *
embeddedartists 0:5e5e9ec91fc8 4 * Licensed under the Apache License, Version 2.0 (the "License");
embeddedartists 0:5e5e9ec91fc8 5 * you may not use this file except in compliance with the License.
embeddedartists 0:5e5e9ec91fc8 6 * You may obtain a copy of the License at
embeddedartists 0:5e5e9ec91fc8 7 *
embeddedartists 0:5e5e9ec91fc8 8 * http://www.apache.org/licenses/LICENSE-2.0
embeddedartists 0:5e5e9ec91fc8 9 *
embeddedartists 0:5e5e9ec91fc8 10 * Unless required by applicable law or agreed to in writing, software
embeddedartists 0:5e5e9ec91fc8 11 * distributed under the License is distributed on an "AS IS" BASIS,
embeddedartists 0:5e5e9ec91fc8 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
embeddedartists 0:5e5e9ec91fc8 13 * See the License for the specific language governing permissions and
embeddedartists 0:5e5e9ec91fc8 14 * limitations under the License.
embeddedartists 0:5e5e9ec91fc8 15 */
embeddedartists 0:5e5e9ec91fc8 16
embeddedartists 0:5e5e9ec91fc8 17 #ifndef TESTDISPLAY_H
embeddedartists 0:5e5e9ec91fc8 18 #define TESTDISPLAY_H
embeddedartists 0:5e5e9ec91fc8 19
embeddedartists 0:5e5e9ec91fc8 20 #include "AR1021I2C.h"
embeddedartists 0:5e5e9ec91fc8 21 #include "Graphics.h"
embeddedartists 0:5e5e9ec91fc8 22 #include "LcdController.h"
embeddedartists 0:5e5e9ec91fc8 23 #include "EaLcdBoardGPIO.h"
embeddedartists 0:5e5e9ec91fc8 24
embeddedartists 0:5e5e9ec91fc8 25 /**
embeddedartists 0:5e5e9ec91fc8 26 * Test the display connected with a FPC cable to the LPC4088 Experiment Base Board
embeddedartists 0:5e5e9ec91fc8 27 * as well as the AR1021 touch sensor on the board.
embeddedartists 0:5e5e9ec91fc8 28 */
embeddedartists 0:5e5e9ec91fc8 29 class TestDisplay {
embeddedartists 0:5e5e9ec91fc8 30 public:
embeddedartists 0:5e5e9ec91fc8 31 enum WhichDisplay {
embeddedartists 0:5e5e9ec91fc8 32 TFT_5, // 5" display
embeddedartists 0:5e5e9ec91fc8 33 TFT_4_3, // 4.3" display
embeddedartists 0:5e5e9ec91fc8 34 };
embeddedartists 0:5e5e9ec91fc8 35
embeddedartists 0:5e5e9ec91fc8 36 /**
embeddedartists 0:5e5e9ec91fc8 37 * Create an interface to the display
embeddedartists 0:5e5e9ec91fc8 38 */
embeddedartists 0:5e5e9ec91fc8 39 TestDisplay(WhichDisplay which);
embeddedartists 0:5e5e9ec91fc8 40 ~TestDisplay();
embeddedartists 0:5e5e9ec91fc8 41
embeddedartists 0:5e5e9ec91fc8 42 /**
embeddedartists 0:5e5e9ec91fc8 43 * Test the display
embeddedartists 0:5e5e9ec91fc8 44 *
embeddedartists 0:5e5e9ec91fc8 45 * @return true if the test was successful; otherwise false
embeddedartists 0:5e5e9ec91fc8 46 */
embeddedartists 0:5e5e9ec91fc8 47 bool runTest();
embeddedartists 0:5e5e9ec91fc8 48
embeddedartists 0:5e5e9ec91fc8 49 private:
embeddedartists 0:5e5e9ec91fc8 50
embeddedartists 0:5e5e9ec91fc8 51 void calibrate_drawMarker(Graphics &g, uint16_t x, uint16_t y, bool erase);
embeddedartists 0:5e5e9ec91fc8 52 bool calibrate_display();
embeddedartists 0:5e5e9ec91fc8 53
embeddedartists 0:5e5e9ec91fc8 54 char* _initStr;
embeddedartists 0:5e5e9ec91fc8 55 LcdController::Config* _lcdCfg;
embeddedartists 0:5e5e9ec91fc8 56 EaLcdBoardGPIO _lcdBoard;
embeddedartists 0:5e5e9ec91fc8 57 AR1021I2C _touch;
embeddedartists 0:5e5e9ec91fc8 58
embeddedartists 0:5e5e9ec91fc8 59 uint32_t _framebuffer;
embeddedartists 0:5e5e9ec91fc8 60 };
embeddedartists 0:5e5e9ec91fc8 61
embeddedartists 0:5e5e9ec91fc8 62 #endif
embeddedartists 0:5e5e9ec91fc8 63