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

Committer:
Rhamao
Date:
Wed Jun 17 14:16:14 2020 +0000
Revision:
6:03acf74857cc
Parent:
5:c4038609e806
Initialisation du tableau RGB[3] pour eviter un probleme de decalage de bits

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Rhamao 0:eccd33c01946 1 #ifndef VIEW_H
Rhamao 0:eccd33c01946 2 #define VIEW_H
Rhamao 0:eccd33c01946 3 #include "mbed.h"
Rhamao 0:eccd33c01946 4 #include "button.h"
Rhamao 0:eccd33c01946 5 #include "stm32746g_discovery_lcd.h"
Rhamao 0:eccd33c01946 6 #include "stm32746g_discovery_ts.h"
Rhamao 0:eccd33c01946 7 #include <list>
Rhamao 1:3ce68d55dfb8 8 #include <stdlib.h>
Rhamao 0:eccd33c01946 9 #define SCREENWIDTH 480
Rhamao 0:eccd33c01946 10 #define SCREENHEIGHT 272
Rhamao 5:c4038609e806 11 #define LED_BUTTON_SIZE 40
Rhamao 0:eccd33c01946 12 #define RGB_TEXT_VIEW_WIDTH 30
Rhamao 0:eccd33c01946 13 #define RGB_TEXT_VIEW_HEIGHT 15
Rhamao 0:eccd33c01946 14 #define PLUS_MINUS_BUTTON_SIZE 30
Rhamao 0:eccd33c01946 15 #define ANIMATION_BUTTON_WIDTH 80
Rhamao 0:eccd33c01946 16 #define ANIMATION_BUTTON_HEIGHT 15
Rhamao 0:eccd33c01946 17 #define LIGHT_GRAY (uint32_t)0xFFe0e0d1
Rhamao 0:eccd33c01946 18 #include <ESP8266.h>
Rhamao 0:eccd33c01946 19
Rhamao 0:eccd33c01946 20 extern RawSerial pc;
Rhamao 0:eccd33c01946 21 extern RawSerial wifi;
Rhamao 0:eccd33c01946 22
Rhamao 0:eccd33c01946 23
Rhamao 0:eccd33c01946 24 class View
Rhamao 0:eccd33c01946 25 {
Rhamao 0:eccd33c01946 26 public:
Rhamao 0:eccd33c01946 27 View(int width = SCREENWIDTH, int height = SCREENHEIGHT);
Rhamao 0:eccd33c01946 28 void contain(int x, int y);
Rhamao 0:eccd33c01946 29 void draw();
Rhamao 1:3ce68d55dfb8 30 void updateLCD();
Rhamao 3:86ea18a6bfff 31 bool updatePlusMinus(Button* button);
Rhamao 3:86ea18a6bfff 32 bool updateLEDS(Button* button);
Rhamao 3:86ea18a6bfff 33 bool updateSetNewColorAndCancel(Button* button);
Rhamao 0:eccd33c01946 34 ~View();
Rhamao 1:3ce68d55dfb8 35
Rhamao 0:eccd33c01946 36
Rhamao 0:eccd33c01946 37 private :
Rhamao 0:eccd33c01946 38 void initLCD();
Rhamao 0:eccd33c01946 39 void drawText();
Rhamao 0:eccd33c01946 40 int16_t m_width = SCREENWIDTH;
Rhamao 0:eccd33c01946 41 int16_t m_height = SCREENHEIGHT;
Rhamao 0:eccd33c01946 42 uint32_t m_bgColor = LCD_COLOR_WHITE;
Rhamao 0:eccd33c01946 43 list<Button *> m_buttonList;
Rhamao 0:eccd33c01946 44 ESP8266 * m_esp;
Rhamao 1:3ce68d55dfb8 45 TS_StateTypeDef TS_State;
Rhamao 1:3ce68d55dfb8 46 uint16_t x, y;
Rhamao 1:3ce68d55dfb8 47 uint8_t idx;
Rhamao 1:3ce68d55dfb8 48 bool screenReleased=false;
Rhamao 1:3ce68d55dfb8 49 bool cleared = false;
Rhamao 6:03acf74857cc 50 uint8_t RGB[3]={0x00, 0x00, 0x00};
Rhamao 1:3ce68d55dfb8 51 char str[10];
Rhamao 2:fd11fb4d51f8 52 bool ledSelected[12]={false, false, false, false,
Rhamao 2:fd11fb4d51f8 53 false, false, false, false,
Rhamao 2:fd11fb4d51f8 54 false, false, false, false};
Rhamao 1:3ce68d55dfb8 55 //LEDS buttons
Rhamao 5:c4038609e806 56 Button *led0 = new Button(300, 5, LED_BUTTON_SIZE, LED_BUTTON_SIZE, LCD_COLOR_BLACK, LCD_COLOR_WHITE);
Rhamao 5:c4038609e806 57 Button *led1 = new Button(353, 20, LED_BUTTON_SIZE, LED_BUTTON_SIZE, LCD_COLOR_BLACK, LCD_COLOR_WHITE);
Rhamao 5:c4038609e806 58 Button *led2 = new Button(397, 65, LED_BUTTON_SIZE, LED_BUTTON_SIZE, LCD_COLOR_BLACK, LCD_COLOR_WHITE);
Rhamao 5:c4038609e806 59 Button *led3 = new Button(410, 118, LED_BUTTON_SIZE, LED_BUTTON_SIZE, LCD_COLOR_BLACK, LCD_COLOR_WHITE);
Rhamao 5:c4038609e806 60 Button *led4 = new Button(396, 170, LED_BUTTON_SIZE, LED_BUTTON_SIZE, LCD_COLOR_BLACK, LCD_COLOR_WHITE);
Rhamao 5:c4038609e806 61 Button *led5 = new Button(354, 212, LED_BUTTON_SIZE, LED_BUTTON_SIZE, LCD_COLOR_BLACK, LCD_COLOR_WHITE);
Rhamao 5:c4038609e806 62 Button *led6 = new Button(300, 227, LED_BUTTON_SIZE, LED_BUTTON_SIZE, LCD_COLOR_BLACK, LCD_COLOR_WHITE);
Rhamao 5:c4038609e806 63 Button *led7 = new Button(245, 212, LED_BUTTON_SIZE, LED_BUTTON_SIZE, LCD_COLOR_BLACK, LCD_COLOR_WHITE);
Rhamao 5:c4038609e806 64 Button *led8 = new Button(204, 170, LED_BUTTON_SIZE, LED_BUTTON_SIZE, LCD_COLOR_BLACK, LCD_COLOR_WHITE);
Rhamao 5:c4038609e806 65 Button *led9 = new Button(190, 118, LED_BUTTON_SIZE, LED_BUTTON_SIZE, LCD_COLOR_BLACK, LCD_COLOR_WHITE);
Rhamao 5:c4038609e806 66 Button *led10 = new Button(203, 62, LED_BUTTON_SIZE, LED_BUTTON_SIZE, LCD_COLOR_BLACK, LCD_COLOR_WHITE);
Rhamao 5:c4038609e806 67 Button *led11 = new Button(245, 20, LED_BUTTON_SIZE, LED_BUTTON_SIZE, LCD_COLOR_BLACK, LCD_COLOR_WHITE);
Rhamao 1:3ce68d55dfb8 68 //RGB TextView
Rhamao 5:c4038609e806 69 Button *redTextview = new Button(90, 38, RGB_TEXT_VIEW_WIDTH, RGB_TEXT_VIEW_HEIGHT, LCD_COLOR_RED);
Rhamao 5:c4038609e806 70 Button *greenTextview = new Button(90, 128, RGB_TEXT_VIEW_WIDTH, RGB_TEXT_VIEW_HEIGHT, LCD_COLOR_GREEN);
Rhamao 5:c4038609e806 71 Button *blueTextview = new Button(90, 218, RGB_TEXT_VIEW_WIDTH, RGB_TEXT_VIEW_HEIGHT, LCD_COLOR_BLUE);
Rhamao 1:3ce68d55dfb8 72 //RGB + and -
Rhamao 5:c4038609e806 73 Button *plusRED = new Button(185-130, 8, PLUS_MINUS_BUTTON_SIZE, PLUS_MINUS_BUTTON_SIZE, LIGHT_GRAY);
Rhamao 5:c4038609e806 74 Button *minusRED = new Button(185-130, 53, PLUS_MINUS_BUTTON_SIZE, PLUS_MINUS_BUTTON_SIZE, LIGHT_GRAY);
Rhamao 5:c4038609e806 75 Button *plusGREEN = new Button(185-130, 98, PLUS_MINUS_BUTTON_SIZE, PLUS_MINUS_BUTTON_SIZE, LIGHT_GRAY);
Rhamao 5:c4038609e806 76 Button *minusGREEN = new Button(185-130, 143, PLUS_MINUS_BUTTON_SIZE, PLUS_MINUS_BUTTON_SIZE, LIGHT_GRAY);
Rhamao 5:c4038609e806 77 Button *plusBLUE = new Button(185-130, 188, PLUS_MINUS_BUTTON_SIZE, PLUS_MINUS_BUTTON_SIZE, LIGHT_GRAY);
Rhamao 5:c4038609e806 78 Button *minusBLUE = new Button(185-130, 233, PLUS_MINUS_BUTTON_SIZE, PLUS_MINUS_BUTTON_SIZE, LIGHT_GRAY);
Rhamao 5:c4038609e806 79 Button *plus10RED = new Button(185-35-130, 8, PLUS_MINUS_BUTTON_SIZE, PLUS_MINUS_BUTTON_SIZE, LIGHT_GRAY);
Rhamao 5:c4038609e806 80 Button *minus10RED = new Button(185-35-130, 53, PLUS_MINUS_BUTTON_SIZE, PLUS_MINUS_BUTTON_SIZE, LIGHT_GRAY);
Rhamao 5:c4038609e806 81 Button *plus10GREEN = new Button(185-35-130, 98, PLUS_MINUS_BUTTON_SIZE, PLUS_MINUS_BUTTON_SIZE, LIGHT_GRAY);
Rhamao 5:c4038609e806 82 Button *minus10GREEN = new Button(185-35-130, 143, PLUS_MINUS_BUTTON_SIZE, PLUS_MINUS_BUTTON_SIZE, LIGHT_GRAY);
Rhamao 5:c4038609e806 83 Button *plus10BLUE = new Button(185-35-130, 188, PLUS_MINUS_BUTTON_SIZE, PLUS_MINUS_BUTTON_SIZE, LIGHT_GRAY);
Rhamao 5:c4038609e806 84 Button *minus10BLUE = new Button(185-35-130, 233, PLUS_MINUS_BUTTON_SIZE, PLUS_MINUS_BUTTON_SIZE, LIGHT_GRAY);
Rhamao 1:3ce68d55dfb8 85 //SET NEW COLOR
Rhamao 5:c4038609e806 86 Button *setNewColor = new Button(270, 100, 100, 25, LIGHT_GRAY);
Rhamao 5:c4038609e806 87 Button *cancel = new Button(270, 150, 100, 25, LIGHT_GRAY);
Rhamao 1:3ce68d55dfb8 88 //Animations
Rhamao 5:c4038609e806 89 /*Button *anim1 = new Button(20, 38, ANIMATION_BUTTON_WIDTH, ANIMATION_BUTTON_HEIGHT, LIGHT_GRAY);
Rhamao 1:3ce68d55dfb8 90 Button *anim2 = new Button(20, 68, ANIMATION_BUTTON_WIDTH, ANIMATION_BUTTON_HEIGHT, LIGHT_GRAY);
Rhamao 1:3ce68d55dfb8 91 Button *anim3 = new Button(20, 98, ANIMATION_BUTTON_WIDTH, ANIMATION_BUTTON_HEIGHT, LIGHT_GRAY);
Rhamao 2:fd11fb4d51f8 92 Button *start = new Button(20, 128, 120, ANIMATION_BUTTON_HEIGHT+5, LIGHT_GRAY);
Rhamao 5:c4038609e806 93 Button *stop = new Button(20, 163, 120, ANIMATION_BUTTON_HEIGHT+5, LIGHT_GRAY);*/
Rhamao 0:eccd33c01946 94
Rhamao 0:eccd33c01946 95 };
Rhamao 0:eccd33c01946 96
Rhamao 0:eccd33c01946 97 #endif