Several examples run on only mbed-os5.13.0 (not 5.14.0)

Dependencies:   BD_SD_DISCO_F769NI BSP_DISCO_F769NI LCD_DISCO_F769NI TS_DISCO_F769NI USBHost_F769NI

Committer:
kenjiArai
Date:
Mon Oct 14 08:55:15 2019 +0000
Revision:
4:0f4affc00183
Parent:
3:35ac9ee7d2d6
Several Examples

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kenjiArai 3:35ac9ee7d2d6 1 //-----------------------------------------------------------
kenjiArai 3:35ac9ee7d2d6 2 // Button class handling multi-touch -- Header
kenjiArai 3:35ac9ee7d2d6 3 // Multi-touch: Enabled (default)
kenjiArai 3:35ac9ee7d2d6 4 //
kenjiArai 3:35ac9ee7d2d6 5 // 2016/02/22, Copyright (c) 2016 MIKAMI, Naoki
kenjiArai 3:35ac9ee7d2d6 6 //-----------------------------------------------------------
kenjiArai 3:35ac9ee7d2d6 7 // Modified by JH1PJL/K.Arai Nov.27,2017 for DISCO-F469NI
kenjiArai 3:35ac9ee7d2d6 8 // Modified by JH1PJL/K.Arai Jul.25,2019 for DISCO-F769NI
kenjiArai 3:35ac9ee7d2d6 9
kenjiArai 3:35ac9ee7d2d6 10 #ifndef F769_BUTTON_HPP
kenjiArai 3:35ac9ee7d2d6 11 #define F769_BUTTON_HPP
kenjiArai 3:35ac9ee7d2d6 12
kenjiArai 3:35ac9ee7d2d6 13 #include "mbed.h"
kenjiArai 3:35ac9ee7d2d6 14 #include <string>
kenjiArai 3:35ac9ee7d2d6 15 #include "TS_DISCO_F769NI.h"
kenjiArai 3:35ac9ee7d2d6 16 #include "LCD_DISCO_F769NI.h"
kenjiArai 3:35ac9ee7d2d6 17
kenjiArai 3:35ac9ee7d2d6 18 namespace Mikami
kenjiArai 3:35ac9ee7d2d6 19 {
kenjiArai 3:35ac9ee7d2d6 20 class Button
kenjiArai 3:35ac9ee7d2d6 21 {
kenjiArai 3:35ac9ee7d2d6 22 public:
kenjiArai 3:35ac9ee7d2d6 23 // Constructor
kenjiArai 3:35ac9ee7d2d6 24 Button(LCD_DISCO_F769NI &lcd, TS_DISCO_F769NI &ts,
kenjiArai 3:35ac9ee7d2d6 25 uint16_t x, uint16_t y, uint16_t width, uint16_t height,
kenjiArai 3:35ac9ee7d2d6 26 uint32_t color, uint32_t backColor,
kenjiArai 3:35ac9ee7d2d6 27 const string str = "", sFONT &fonts = Font12,
kenjiArai 3:35ac9ee7d2d6 28 uint32_t textColor = LCD_COLOR_WHITE)
kenjiArai 3:35ac9ee7d2d6 29 : lcd_(lcd), ts_(ts), X_(x), Y_(y), W_(width), H_(height),
kenjiArai 3:35ac9ee7d2d6 30 ORIGINAL_COLOR_(color), BACK_COLOR_(backColor),
kenjiArai 3:35ac9ee7d2d6 31 STR_(str), FONTS_(&fonts), FONT_WIDTH_(fonts.Width),
kenjiArai 3:35ac9ee7d2d6 32 FONT_HEIGHT_(fonts.Height)
kenjiArai 3:35ac9ee7d2d6 33 { Draw(color, textColor); }
kenjiArai 3:35ac9ee7d2d6 34
kenjiArai 3:35ac9ee7d2d6 35 // Draw button
kenjiArai 3:35ac9ee7d2d6 36 void Draw(uint32_t color, uint32_t textColor = LCD_COLOR_WHITE);
kenjiArai 3:35ac9ee7d2d6 37
kenjiArai 3:35ac9ee7d2d6 38 // Redraw button with original color
kenjiArai 3:35ac9ee7d2d6 39 void Redraw(uint32_t textColor = LCD_COLOR_WHITE)
kenjiArai 3:35ac9ee7d2d6 40 { Draw(ORIGINAL_COLOR_, textColor); }
kenjiArai 3:35ac9ee7d2d6 41
kenjiArai 3:35ac9ee7d2d6 42 // Erase button
kenjiArai 3:35ac9ee7d2d6 43 void Erase()
kenjiArai 3:35ac9ee7d2d6 44 { Draw(BACK_COLOR_, BACK_COLOR_); }
kenjiArai 3:35ac9ee7d2d6 45
kenjiArai 3:35ac9ee7d2d6 46 // Check touch detected
kenjiArai 3:35ac9ee7d2d6 47 bool Touched();
kenjiArai 3:35ac9ee7d2d6 48
kenjiArai 3:35ac9ee7d2d6 49 // Check touch detected and redraw button
kenjiArai 3:35ac9ee7d2d6 50 bool Touched(uint32_t color, uint32_t textColor = LCD_COLOR_WHITE);
kenjiArai 3:35ac9ee7d2d6 51
kenjiArai 3:35ac9ee7d2d6 52 // Get original color
kenjiArai 3:35ac9ee7d2d6 53 uint32_t GetOriginalColor() { return ORIGINAL_COLOR_; }
kenjiArai 3:35ac9ee7d2d6 54
kenjiArai 3:35ac9ee7d2d6 55 bool PanelTouched();
kenjiArai 3:35ac9ee7d2d6 56 bool IsOnButton();
kenjiArai 3:35ac9ee7d2d6 57
kenjiArai 3:35ac9ee7d2d6 58 // Get previously got state
kenjiArai 3:35ac9ee7d2d6 59 static TS_StateTypeDef GottenState()
kenjiArai 3:35ac9ee7d2d6 60 { return state_; }
kenjiArai 3:35ac9ee7d2d6 61
kenjiArai 3:35ac9ee7d2d6 62 // Set or reset multi-touch
kenjiArai 3:35ac9ee7d2d6 63 static void SetMultiTouch(bool tf) { multiTouch = tf; }
kenjiArai 3:35ac9ee7d2d6 64
kenjiArai 3:35ac9ee7d2d6 65 private:
kenjiArai 3:35ac9ee7d2d6 66 LCD_DISCO_F769NI &lcd_;
kenjiArai 3:35ac9ee7d2d6 67 TS_DISCO_F769NI &ts_;
kenjiArai 3:35ac9ee7d2d6 68
kenjiArai 3:35ac9ee7d2d6 69 const uint16_t X_, Y_, W_, H_;
kenjiArai 3:35ac9ee7d2d6 70 const uint32_t ORIGINAL_COLOR_; // original color
kenjiArai 3:35ac9ee7d2d6 71 const uint32_t BACK_COLOR_; // back color of screen
kenjiArai 3:35ac9ee7d2d6 72 const string STR_;
kenjiArai 3:35ac9ee7d2d6 73 sFONT *const FONTS_;
kenjiArai 3:35ac9ee7d2d6 74 const uint16_t FONT_WIDTH_;
kenjiArai 3:35ac9ee7d2d6 75 const uint16_t FONT_HEIGHT_;
kenjiArai 3:35ac9ee7d2d6 76
kenjiArai 3:35ac9ee7d2d6 77 static TS_StateTypeDef state_;
kenjiArai 3:35ac9ee7d2d6 78 static bool multiTouch;
kenjiArai 3:35ac9ee7d2d6 79
kenjiArai 3:35ac9ee7d2d6 80 // disallow copy constructor and assignment operator
kenjiArai 3:35ac9ee7d2d6 81 Button(const Button&);
kenjiArai 3:35ac9ee7d2d6 82 Button& operator=(const Button&);
kenjiArai 3:35ac9ee7d2d6 83 };
kenjiArai 3:35ac9ee7d2d6 84 }
kenjiArai 3:35ac9ee7d2d6 85 #endif // F769_BUTTON_HPP