A simple Pong game with STM32F407VET6 black board (Seeed Arch Max) and ILI9341 320x240 TFT display.

Dependencies:   mbed ILI9341_STM32F4

A simple Pong game with STM32F407VET6 black board (compatible with Seed Arch Max) and ILI9341 320x240 TFT display.

Connect the SPI interface of an ILI9341 320x240 TFT display to the STM32F407VET6 board (Seeed Arch Max) as follows:

ILI9341 TFTSPI interfaceSTM32F407VET6
VCC+5V
GNDGND
CSPB_7
RESETPB_8
D/CPB_6
SDI(MOSI)PB_5
SCKPB_3
LEDover a 56 ohm resistor+5V
SDO(MISO)PB_4
Committer:
hudakz
Date:
Thu Apr 11 20:18:15 2019 +0000
Revision:
0:887dd664eca0
Child:
1:971e721f6ef2
Initial release.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
hudakz 0:887dd664eca0 1 #include "Racket.h"
hudakz 0:887dd664eca0 2
hudakz 0:887dd664eca0 3 /**
hudakz 0:887dd664eca0 4 * @brief
hudakz 0:887dd664eca0 5 * @note
hudakz 0:887dd664eca0 6 * @param
hudakz 0:887dd664eca0 7 * @retval
hudakz 0:887dd664eca0 8 */
hudakz 0:887dd664eca0 9 Racket::Racket(int w /*= 20*/, int h /*= 40*/, uint16_t clr /*= TFT_WHITE*/ ) :
hudakz 0:887dd664eca0 10 width(w), height(h), xPos(320), yPos(240 / 2), velocity(10), xDir(0), yDir(0), color(clr)
hudakz 0:887dd664eca0 11 { }
hudakz 0:887dd664eca0 12
hudakz 0:887dd664eca0 13 /**
hudakz 0:887dd664eca0 14 * @brief
hudakz 0:887dd664eca0 15 * @note
hudakz 0:887dd664eca0 16 * @param
hudakz 0:887dd664eca0 17 * @retval
hudakz 0:887dd664eca0 18 */
hudakz 0:887dd664eca0 19 void Racket::move(DigitalIn* btnUp, DigitalIn* btnDown)
hudakz 0:887dd664eca0 20 {
hudakz 0:887dd664eca0 21 yDir = 0;
hudakz 0:887dd664eca0 22 if (*btnUp == 0)
hudakz 0:887dd664eca0 23 yDir = -1; // move up
hudakz 0:887dd664eca0 24 if (*btnDown == 0)
hudakz 0:887dd664eca0 25 yDir = 1; // move down
hudakz 0:887dd664eca0 26 yPos += yDir * velocity;
hudakz 0:887dd664eca0 27 if (yPos < height / 2)
hudakz 0:887dd664eca0 28 yPos = height / 2;
hudakz 0:887dd664eca0 29 if (yPos > 240 - height / 2)
hudakz 0:887dd664eca0 30 yPos = 240 - height / 2;
hudakz 0:887dd664eca0 31 }
hudakz 0:887dd664eca0 32
hudakz 0:887dd664eca0 33 /**
hudakz 0:887dd664eca0 34 * @brief
hudakz 0:887dd664eca0 35 * @note
hudakz 0:887dd664eca0 36 * @param
hudakz 0:887dd664eca0 37 * @retval
hudakz 0:887dd664eca0 38 */
hudakz 0:887dd664eca0 39 void Racket::paint(uint16_t clr /*= TFT_WHITE*/ )
hudakz 0:887dd664eca0 40 {
hudakz 0:887dd664eca0 41 tft_boxfill(xPos - width / 2, yPos - height / 2, xPos, yPos + height / 2, clr);
hudakz 0:887dd664eca0 42 }