Simple test program for FRDM-KL25Z and Adafruit 2.8" TFT display. For the touch sensor, only polling mode is implemented.

Dependencies:   MMA8451Q SPI_STMPE610 TSI UniGraphic mbed

This program was to test Adafruit 2.8" TFT with touch with FRDM-KL25Z.
After download the binary to the FRDM-KL25Z and push the reset button ,
a simple welcome message will be displayed.

このプログラムは私が秋月で購入した Adafruit 2.8" TFT
http://akizukidenshi.com/catalog/g/gM-07747/
をFRDM-KL25Z で試すために書いたものです。
ダウンロード後にFRDM-KL25Zのリセットスイッチを押すと
最初の画面が表示されます。

Now using UniGraphic library.
And the problem of remaining previous screen is gone. ;-)
For a little bonus, TS_Eyes and Maze are also included.

UniGraphic ライブラリ版になり、画面にごみが残るバグが治りました。
おまけに TS_Eyes と Maze も追加してあります。 (^ ^)v

/media/uploads/Rhyme/img_0984_ss.jpg

If you push and keep the right side of the screen,
the screen will advance to the page2, which is a simple graph sample.

ここで画面の右側をしばらく押していると、次のページに移行します。
このページでは、簡単なグラフを表示する例を描画しています。

/media/uploads/Rhyme/img_0985_ss.jpg

And if you do the same again, the program advances to the page3,
which is a data display page of MMA8451Q accelerometer mounted on
the FRDM-KL25Z.

さらに画面の右側をしばらく押していると、次のページに移行します。
ここでは、FRDM-KL25Zに搭載されている MMA8451Q という3軸の
加速度センサの値を表示しています。

/media/uploads/Rhyme/img_0986_ss.jpg

And this is the last page of this program, so far, so if you
try to advance page, it will return to the first page.

このページが最後のページになっているので、さらにページ送りをすると
最初のページに戻ります。

Committer:
Rhyme
Date:
Fri Oct 31 01:16:01 2014 +0000
Revision:
0:6b8a2d4c88b3
First sample/test to be published

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Rhyme 0:6b8a2d4c88b3 1 /* mbed SPI_STMPE610.h to test adafruit 2.8" TFT LCD shiled w Touchscreen
Rhyme 0:6b8a2d4c88b3 2 * Copyright (c) 2014 Motoo Tanaka @ Design Methodology Lab
Rhyme 0:6b8a2d4c88b3 3 *
Rhyme 0:6b8a2d4c88b3 4 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
Rhyme 0:6b8a2d4c88b3 5 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
Rhyme 0:6b8a2d4c88b3 6 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
Rhyme 0:6b8a2d4c88b3 7 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
Rhyme 0:6b8a2d4c88b3 8 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
Rhyme 0:6b8a2d4c88b3 9 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
Rhyme 0:6b8a2d4c88b3 10 * THE SOFTWARE.
Rhyme 0:6b8a2d4c88b3 11 */
Rhyme 0:6b8a2d4c88b3 12
Rhyme 0:6b8a2d4c88b3 13 #ifndef SPI_STMPE610_H
Rhyme 0:6b8a2d4c88b3 14 #define SPI_STMPE610_H
Rhyme 0:6b8a2d4c88b3 15
Rhyme 0:6b8a2d4c88b3 16 #include "mbed.h"
Rhyme 0:6b8a2d4c88b3 17
Rhyme 0:6b8a2d4c88b3 18 /**
Rhyme 0:6b8a2d4c88b3 19 * STMPE610 Touch Sensor
Rhyme 0:6b8a2d4c88b3 20 *
Rhyme 0:6b8a2d4c88b3 21 *
Rhyme 0:6b8a2d4c88b3 22 */
Rhyme 0:6b8a2d4c88b3 23
Rhyme 0:6b8a2d4c88b3 24 class SPI_STMPE610
Rhyme 0:6b8a2d4c88b3 25 {
Rhyme 0:6b8a2d4c88b3 26 public:
Rhyme 0:6b8a2d4c88b3 27 /**
Rhyme 0:6b8a2d4c88b3 28 * STMPE610 constructor
Rhyme 0:6b8a2d4c88b3 29 *
Rhyme 0:6b8a2d4c88b3 30 * @param mosi SPI_MOSI pin
Rhyme 0:6b8a2d4c88b3 31 * @param miso SPI_MISO pin
Rhyme 0:6b8a2d4c88b3 32 * @param sclk SPI_CLK pin
Rhyme 0:6b8a2d4c88b3 33 * @param cs SPI_CS pin
Rhyme 0:6b8a2d4c88b3 34 */
Rhyme 0:6b8a2d4c88b3 35 SPI_STMPE610(PinName mosi, PinName miso, PinName sclk, PinName cs) ;
Rhyme 0:6b8a2d4c88b3 36
Rhyme 0:6b8a2d4c88b3 37 ~SPI_STMPE610() ;
Rhyme 0:6b8a2d4c88b3 38
Rhyme 0:6b8a2d4c88b3 39 /*
Rhyme 0:6b8a2d4c88b3 40 * some member functions here (yet to be written)
Rhyme 0:6b8a2d4c88b3 41 */
Rhyme 0:6b8a2d4c88b3 42
Rhyme 0:6b8a2d4c88b3 43 SPI m_spi;
Rhyme 0:6b8a2d4c88b3 44 DigitalOut m_cs ;
Rhyme 0:6b8a2d4c88b3 45 int _mode ;
Rhyme 0:6b8a2d4c88b3 46
Rhyme 0:6b8a2d4c88b3 47 void readRegs(int addr, uint8_t *data, int len) ;
Rhyme 0:6b8a2d4c88b3 48 void writeRegs(uint8_t *data, int len) ;
Rhyme 0:6b8a2d4c88b3 49 uint8_t read8(int addr) ;
Rhyme 0:6b8a2d4c88b3 50 void write8(int addr, uint8_t data) ;
Rhyme 0:6b8a2d4c88b3 51 uint16_t read16(int addr) ;
Rhyme 0:6b8a2d4c88b3 52 void write16(int addr, uint16_t data) ;
Rhyme 0:6b8a2d4c88b3 53
Rhyme 0:6b8a2d4c88b3 54 int getRAWPoint(uint16_t *x, uint16_t *y, uint16_t *z) ;
Rhyme 0:6b8a2d4c88b3 55
Rhyme 0:6b8a2d4c88b3 56 private:
Rhyme 0:6b8a2d4c88b3 57 } ;
Rhyme 0:6b8a2d4c88b3 58 #endif /* SPI_STMPE610_H */