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

Committer:
Rhamao
Date:
Mon Jun 15 00:40:49 2020 +0000
Revision:
1:3ce68d55dfb8
Parent:
0:eccd33c01946
Child:
2:fd11fb4d51f8
Rajout de plusieurs methode et de la variable screenReleased a la classe view

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 0:eccd33c01946 11 #define LED_BUTTON_SIZE 15
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 1:3ce68d55dfb8 31 void updatePlusMinus(Button* it);
Rhamao 0:eccd33c01946 32 ~View();
Rhamao 1:3ce68d55dfb8 33
Rhamao 0:eccd33c01946 34
Rhamao 0:eccd33c01946 35 private :
Rhamao 0:eccd33c01946 36 void initLCD();
Rhamao 0:eccd33c01946 37 void drawText();
Rhamao 0:eccd33c01946 38 int16_t m_width = SCREENWIDTH;
Rhamao 0:eccd33c01946 39 int16_t m_height = SCREENHEIGHT;
Rhamao 0:eccd33c01946 40 uint32_t m_bgColor = LCD_COLOR_WHITE;
Rhamao 0:eccd33c01946 41 list<Button *> m_buttonList;
Rhamao 0:eccd33c01946 42 ESP8266 * m_esp;
Rhamao 1:3ce68d55dfb8 43 TS_StateTypeDef TS_State;
Rhamao 1:3ce68d55dfb8 44 uint16_t x, y;
Rhamao 1:3ce68d55dfb8 45 uint8_t idx;
Rhamao 1:3ce68d55dfb8 46 bool screenReleased=false;
Rhamao 1:3ce68d55dfb8 47 bool cleared = false;
Rhamao 1:3ce68d55dfb8 48 int buffer=0;
Rhamao 1:3ce68d55dfb8 49 char str[10];
Rhamao 1:3ce68d55dfb8 50 //LEDS buttons
Rhamao 1:3ce68d55dfb8 51 Button *led0 = new Button(350, 52+16, LED_BUTTON_SIZE, LED_BUTTON_SIZE, LCD_COLOR_WHITE);
Rhamao 1:3ce68d55dfb8 52 Button *led1 = new Button(379, 60+16, LED_BUTTON_SIZE, LED_BUTTON_SIZE, LCD_COLOR_WHITE);
Rhamao 1:3ce68d55dfb8 53 Button *led2 = new Button(403, 84+16, LED_BUTTON_SIZE, LED_BUTTON_SIZE, LCD_COLOR_WHITE);
Rhamao 1:3ce68d55dfb8 54 Button *led3 = new Button(410, 112+16, LED_BUTTON_SIZE, LED_BUTTON_SIZE, LCD_COLOR_WHITE);
Rhamao 1:3ce68d55dfb8 55 Button *led4 = new Button(402, 142+16, LED_BUTTON_SIZE, LED_BUTTON_SIZE, LCD_COLOR_WHITE);
Rhamao 1:3ce68d55dfb8 56 Button *led5 = new Button(379, 165+16, LED_BUTTON_SIZE, LED_BUTTON_SIZE, LCD_COLOR_WHITE);
Rhamao 1:3ce68d55dfb8 57 Button *led6 = new Button(350, 173+16, LED_BUTTON_SIZE, LED_BUTTON_SIZE, LCD_COLOR_WHITE);
Rhamao 1:3ce68d55dfb8 58 Button *led7 = new Button(320, 165+16, LED_BUTTON_SIZE, LED_BUTTON_SIZE, LCD_COLOR_WHITE);
Rhamao 1:3ce68d55dfb8 59 Button *led8 = new Button(297, 142+16, LED_BUTTON_SIZE, LED_BUTTON_SIZE, LCD_COLOR_WHITE);
Rhamao 1:3ce68d55dfb8 60 Button *led9 = new Button(290, 112+16, LED_BUTTON_SIZE, LED_BUTTON_SIZE, LCD_COLOR_WHITE);
Rhamao 1:3ce68d55dfb8 61 Button *led10 = new Button(297, 84+16, LED_BUTTON_SIZE, LED_BUTTON_SIZE, LCD_COLOR_WHITE);
Rhamao 1:3ce68d55dfb8 62 Button *led11 = new Button(321, 60+16, LED_BUTTON_SIZE, LED_BUTTON_SIZE, LCD_COLOR_WHITE);
Rhamao 1:3ce68d55dfb8 63 //RGB TextView
Rhamao 1:3ce68d55dfb8 64 Button *redTextview = new Button(220, 38, RGB_TEXT_VIEW_WIDTH, RGB_TEXT_VIEW_HEIGHT, LCD_COLOR_WHITE);
Rhamao 1:3ce68d55dfb8 65 Button *greenTextview = new Button(220, 128, RGB_TEXT_VIEW_WIDTH, RGB_TEXT_VIEW_HEIGHT, LCD_COLOR_WHITE);
Rhamao 1:3ce68d55dfb8 66 Button *blueTextview = new Button(220, 218, RGB_TEXT_VIEW_WIDTH, RGB_TEXT_VIEW_HEIGHT, LCD_COLOR_WHITE);
Rhamao 1:3ce68d55dfb8 67 //RGB + and -
Rhamao 1:3ce68d55dfb8 68 Button *plusRED = new Button(185, 8, PLUS_MINUS_BUTTON_SIZE, PLUS_MINUS_BUTTON_SIZE, LIGHT_GRAY);
Rhamao 1:3ce68d55dfb8 69 Button *minusRED = new Button(185, 53, PLUS_MINUS_BUTTON_SIZE, PLUS_MINUS_BUTTON_SIZE, LIGHT_GRAY);
Rhamao 1:3ce68d55dfb8 70 Button *plusGREEN = new Button(185, 98, PLUS_MINUS_BUTTON_SIZE, PLUS_MINUS_BUTTON_SIZE, LIGHT_GRAY);
Rhamao 1:3ce68d55dfb8 71 Button *minusGREEN = new Button(185, 143, PLUS_MINUS_BUTTON_SIZE, PLUS_MINUS_BUTTON_SIZE, LIGHT_GRAY);
Rhamao 1:3ce68d55dfb8 72 Button *plusBLUE = new Button(185, 188, PLUS_MINUS_BUTTON_SIZE, PLUS_MINUS_BUTTON_SIZE, LIGHT_GRAY);
Rhamao 1:3ce68d55dfb8 73 Button *minusBLUE = new Button(185, 233, PLUS_MINUS_BUTTON_SIZE, PLUS_MINUS_BUTTON_SIZE, LIGHT_GRAY);
Rhamao 1:3ce68d55dfb8 74 //SET NEW COLOR
Rhamao 1:3ce68d55dfb8 75 Button *setNewColor = new Button(291, 8, 100, 35, LIGHT_GRAY);
Rhamao 1:3ce68d55dfb8 76 //Animations
Rhamao 1:3ce68d55dfb8 77 Button *anim1 = new Button(20, 38, ANIMATION_BUTTON_WIDTH, ANIMATION_BUTTON_HEIGHT, LIGHT_GRAY);
Rhamao 1:3ce68d55dfb8 78 Button *anim2 = new Button(20, 68, ANIMATION_BUTTON_WIDTH, ANIMATION_BUTTON_HEIGHT, LIGHT_GRAY);
Rhamao 1:3ce68d55dfb8 79 Button *anim3 = new Button(20, 98, ANIMATION_BUTTON_WIDTH, ANIMATION_BUTTON_HEIGHT, LIGHT_GRAY);
Rhamao 1:3ce68d55dfb8 80 Button *start = new Button(20, 128, 140, ANIMATION_BUTTON_HEIGHT+5, LIGHT_GRAY);
Rhamao 1:3ce68d55dfb8 81 Button *stop = new Button(20, 163, 140, ANIMATION_BUTTON_HEIGHT+5, LIGHT_GRAY);
Rhamao 0:eccd33c01946 82
Rhamao 0:eccd33c01946 83 };
Rhamao 0:eccd33c01946 84
Rhamao 0:eccd33c01946 85 #endif