Interfaçage NeoPixel Ring 12, LPRO MECSE, Arnaud A.

Committer:
Rhamao
Date:
Mon Jun 22 21:55:40 2020 +0000
Revision:
1:2a58d8fcf7f9
Parent:
0:c95a8c8c3c9b
Child:
2:a885824aefe0
2 anims + set LEDs

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Rhamao 0:c95a8c8c3c9b 1 #ifndef VIEW2_H
Rhamao 0:c95a8c8c3c9b 2 #define VIEW2_H
Rhamao 0:c95a8c8c3c9b 3 #include "mbed.h"
Rhamao 0:c95a8c8c3c9b 4 #include "button.h"
Rhamao 0:c95a8c8c3c9b 5 #include "stm32746g_discovery_lcd.h"
Rhamao 0:c95a8c8c3c9b 6 #include "stm32746g_discovery_ts.h"
Rhamao 0:c95a8c8c3c9b 7 #include <list>
Rhamao 0:c95a8c8c3c9b 8 #include <stdlib.h>
Rhamao 0:c95a8c8c3c9b 9 #define SCREENWIDTH 480
Rhamao 0:c95a8c8c3c9b 10 #define SCREENHEIGHT 272
Rhamao 0:c95a8c8c3c9b 11 #define LED_BUTTON_SIZE 40
Rhamao 0:c95a8c8c3c9b 12 #define RGB_TEXT_VIEW_WIDTH 30
Rhamao 0:c95a8c8c3c9b 13 #define RGB_TEXT_VIEW_HEIGHT 15
Rhamao 0:c95a8c8c3c9b 14 #define PLUS_MINUS_BUTTON_SIZE 30
Rhamao 0:c95a8c8c3c9b 15 #define ANIMATION_BUTTON_WIDTH 80
Rhamao 0:c95a8c8c3c9b 16 #define ANIMATION_BUTTON_HEIGHT 15
Rhamao 0:c95a8c8c3c9b 17 #define LIGHT_GRAY (uint32_t)0xFFe0e0d1
Rhamao 0:c95a8c8c3c9b 18
Rhamao 0:c95a8c8c3c9b 19
Rhamao 0:c95a8c8c3c9b 20 class View2
Rhamao 0:c95a8c8c3c9b 21 {
Rhamao 0:c95a8c8c3c9b 22 public:
Rhamao 0:c95a8c8c3c9b 23 View2(int width = SCREENWIDTH, int height = SCREENHEIGHT);
Rhamao 0:c95a8c8c3c9b 24 void contain(int x, int y);
Rhamao 0:c95a8c8c3c9b 25 void draw();
Rhamao 0:c95a8c8c3c9b 26 void updateLCD();
Rhamao 1:2a58d8fcf7f9 27 void updateViewChanged(Button* button);
Rhamao 1:2a58d8fcf7f9 28 bool getViewChanged();
Rhamao 1:2a58d8fcf7f9 29 void setViewChanged(bool viewChanged);
Rhamao 0:c95a8c8c3c9b 30 void initView();
Rhamao 1:2a58d8fcf7f9 31 ~View2();
Rhamao 0:c95a8c8c3c9b 32
Rhamao 0:c95a8c8c3c9b 33 private :
Rhamao 0:c95a8c8c3c9b 34 void drawText();
Rhamao 0:c95a8c8c3c9b 35 int16_t m_width = SCREENWIDTH;
Rhamao 0:c95a8c8c3c9b 36 int16_t m_height = SCREENHEIGHT;
Rhamao 0:c95a8c8c3c9b 37 uint32_t m_bgColor = LCD_COLOR_WHITE;
Rhamao 0:c95a8c8c3c9b 38 list<Button *> m_buttonList;
Rhamao 0:c95a8c8c3c9b 39 TS_StateTypeDef TS_State;
Rhamao 0:c95a8c8c3c9b 40 uint16_t x, y;
Rhamao 0:c95a8c8c3c9b 41 uint8_t idx;
Rhamao 1:2a58d8fcf7f9 42 bool screenReleased=true;
Rhamao 0:c95a8c8c3c9b 43 bool cleared = false;
Rhamao 0:c95a8c8c3c9b 44 uint8_t RGB[3]={0x00, 0x00, 0x00};
Rhamao 0:c95a8c8c3c9b 45 char str[10];
Rhamao 0:c95a8c8c3c9b 46 bool ledSelected[12]={false, false, false, false,
Rhamao 0:c95a8c8c3c9b 47 false, false, false, false,
Rhamao 0:c95a8c8c3c9b 48 false, false, false, false};
Rhamao 1:2a58d8fcf7f9 49 bool viewChanged= false;
Rhamao 1:2a58d8fcf7f9 50
Rhamao 0:c95a8c8c3c9b 51 //Animations
Rhamao 0:c95a8c8c3c9b 52 Button *anim1 = new Button(20, 38, ANIMATION_BUTTON_WIDTH, ANIMATION_BUTTON_HEIGHT, LIGHT_GRAY);
Rhamao 0:c95a8c8c3c9b 53 Button *anim2 = new Button(20, 68, ANIMATION_BUTTON_WIDTH, ANIMATION_BUTTON_HEIGHT, LIGHT_GRAY);
Rhamao 0:c95a8c8c3c9b 54 Button *anim3 = new Button(20, 98, ANIMATION_BUTTON_WIDTH, ANIMATION_BUTTON_HEIGHT, LIGHT_GRAY);
Rhamao 0:c95a8c8c3c9b 55 Button *start = new Button(20, 128, 120, ANIMATION_BUTTON_HEIGHT+5, LIGHT_GRAY);
Rhamao 0:c95a8c8c3c9b 56 Button *stop = new Button(20, 163, 120, ANIMATION_BUTTON_HEIGHT+5, LIGHT_GRAY);
Rhamao 1:2a58d8fcf7f9 57 //Animations tab
Rhamao 1:2a58d8fcf7f9 58 Button *animations = new Button(397, 0, 83, 25, LCD_COLOR_WHITE, LCD_COLOR_WHITE);
Rhamao 1:2a58d8fcf7f9 59 //LEDs tab
Rhamao 1:2a58d8fcf7f9 60 Button *leds = new Button(397, 0+25, 83, 25, LCD_COLOR_BLACK, LCD_COLOR_WHITE);
Rhamao 1:2a58d8fcf7f9 61 Button *hideTop2 = new Button(397, 0+25, 82, 1, LCD_COLOR_BLACK, LCD_COLOR_WHITE);
Rhamao 1:2a58d8fcf7f9 62 Button *hideRight2 = new Button(479, 0+25, 1, 24, LCD_COLOR_BLACK, LCD_COLOR_WHITE);
Rhamao 0:c95a8c8c3c9b 63
Rhamao 0:c95a8c8c3c9b 64 };
Rhamao 0:c95a8c8c3c9b 65
Rhamao 0:c95a8c8c3c9b 66 #endif