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

Committer:
Rhamao
Date:
Tue Jun 30 23:32:27 2020 +0000
Revision:
2:a885824aefe0
Parent:
1:2a58d8fcf7f9
version publique; ;

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 2:a885824aefe0 30 void updateAnim1(Button* button);
Rhamao 2:a885824aefe0 31 bool getAnim1();
Rhamao 2:a885824aefe0 32 void setAnim1(bool viewChanged);
Rhamao 0:c95a8c8c3c9b 33 void initView();
Rhamao 1:2a58d8fcf7f9 34 ~View2();
Rhamao 0:c95a8c8c3c9b 35
Rhamao 0:c95a8c8c3c9b 36 private :
Rhamao 0:c95a8c8c3c9b 37 void drawText();
Rhamao 0:c95a8c8c3c9b 38 int16_t m_width = SCREENWIDTH;
Rhamao 0:c95a8c8c3c9b 39 int16_t m_height = SCREENHEIGHT;
Rhamao 0:c95a8c8c3c9b 40 uint32_t m_bgColor = LCD_COLOR_WHITE;
Rhamao 0:c95a8c8c3c9b 41 list<Button *> m_buttonList;
Rhamao 0:c95a8c8c3c9b 42 TS_StateTypeDef TS_State;
Rhamao 0:c95a8c8c3c9b 43 uint16_t x, y;
Rhamao 0:c95a8c8c3c9b 44 uint8_t idx;
Rhamao 1:2a58d8fcf7f9 45 bool screenReleased=true;
Rhamao 0:c95a8c8c3c9b 46 bool cleared = false;
Rhamao 0:c95a8c8c3c9b 47 uint8_t RGB[3]={0x00, 0x00, 0x00};
Rhamao 0:c95a8c8c3c9b 48 char str[10];
Rhamao 0:c95a8c8c3c9b 49 bool ledSelected[12]={false, false, false, false,
Rhamao 0:c95a8c8c3c9b 50 false, false, false, false,
Rhamao 0:c95a8c8c3c9b 51 false, false, false, false};
Rhamao 1:2a58d8fcf7f9 52 bool viewChanged= false;
Rhamao 2:a885824aefe0 53 bool anim1Bool= false;
Rhamao 1:2a58d8fcf7f9 54
Rhamao 0:c95a8c8c3c9b 55 //Animations
Rhamao 0:c95a8c8c3c9b 56 Button *anim1 = new Button(20, 38, ANIMATION_BUTTON_WIDTH, ANIMATION_BUTTON_HEIGHT, LIGHT_GRAY);
Rhamao 0:c95a8c8c3c9b 57 Button *anim2 = new Button(20, 68, ANIMATION_BUTTON_WIDTH, ANIMATION_BUTTON_HEIGHT, LIGHT_GRAY);
Rhamao 0:c95a8c8c3c9b 58 Button *anim3 = new Button(20, 98, ANIMATION_BUTTON_WIDTH, ANIMATION_BUTTON_HEIGHT, LIGHT_GRAY);
Rhamao 0:c95a8c8c3c9b 59 Button *start = new Button(20, 128, 120, ANIMATION_BUTTON_HEIGHT+5, LIGHT_GRAY);
Rhamao 0:c95a8c8c3c9b 60 Button *stop = new Button(20, 163, 120, ANIMATION_BUTTON_HEIGHT+5, LIGHT_GRAY);
Rhamao 1:2a58d8fcf7f9 61 //Animations tab
Rhamao 1:2a58d8fcf7f9 62 Button *animations = new Button(397, 0, 83, 25, LCD_COLOR_WHITE, LCD_COLOR_WHITE);
Rhamao 1:2a58d8fcf7f9 63 //LEDs tab
Rhamao 1:2a58d8fcf7f9 64 Button *leds = new Button(397, 0+25, 83, 25, LCD_COLOR_BLACK, LCD_COLOR_WHITE);
Rhamao 1:2a58d8fcf7f9 65 Button *hideTop2 = new Button(397, 0+25, 82, 1, LCD_COLOR_BLACK, LCD_COLOR_WHITE);
Rhamao 1:2a58d8fcf7f9 66 Button *hideRight2 = new Button(479, 0+25, 1, 24, LCD_COLOR_BLACK, LCD_COLOR_WHITE);
Rhamao 0:c95a8c8c3c9b 67
Rhamao 0:c95a8c8c3c9b 68 };
Rhamao 0:c95a8c8c3c9b 69
Rhamao 0:c95a8c8c3c9b 70 #endif