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

Committer:
Rhamao
Date:
Mon Jun 22 21:56:03 2020 +0000
Revision:
1:9bcbc2be6d52
mm

Who changed what in which revision?

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