lcd
Dependencies: LCD_DISCO_F469NI TS_DISCO_F469NI F469_GUI BSP_DISCO_F469NI
Revision 0:0a8891401c4f, committed 2016-10-23
- Comitter:
- inkiiin
- Date:
- Sun Oct 23 16:00:40 2016 +0000
- Child:
- 1:222362fa4bea
- Commit message:
- Demo Aplication for F469_GUI
Changed in this revision
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/BSP_DISCO_F469NI.lib Sun Oct 23 16:00:40 2016 +0000 @@ -0,0 +1,1 @@ +https://developer.mbed.org/teams/ST/code/BSP_DISCO_F469NI/#9e4eb47092ed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/F469_GUI.lib Sun Oct 23 16:00:40 2016 +0000 @@ -0,0 +1,1 @@ +https://developer.mbed.org/users/inkiiin/code/F469_GUI/#698bf2100743
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/LCD_DISCO_F469NI.lib Sun Oct 23 16:00:40 2016 +0000 @@ -0,0 +1,1 @@ +https://developer.mbed.org/teams/ST/code/LCD_DISCO_F469NI/#d38374480318
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/TS_DISCO_F469NI.lib Sun Oct 23 16:00:40 2016 +0000 @@ -0,0 +1,1 @@ +https://developer.mbed.org/teams/ST/code/TS_DISCO_F469NI/#ee8fa51422c7
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp Sun Oct 23 16:00:40 2016 +0000
@@ -0,0 +1,124 @@
+#include "mbed.h"
+#include "stm32469i_discovery.h"
+#include "TS_DISCO_F469NI.h"
+#include "LCD_DISCO_F469NI.h"
+#include "F469_GUI.hpp"
+
+int main()
+{
+ BSP_LED_Init(DISCO_LED_BLUE);
+
+ Label obj10(400, 2, "Dome: GUI parts, 2016/07/23, 12:24", Label::CENTER, Font16);
+ Label obj11(400, 20, "Button, ButtonGroup, Label, NumericLabel, BlinkLabel,",
+ Label::CENTER);
+ Label obj12(400, 32, "SeekBar, SeekbarGroup",
+ Label::CENTER);
+
+ Button button1(10, 54, 50, 40, "1");
+ Button button2(62, 54, 50, 40, "2");
+
+ const int NUMBER_BUTTONS = 4;
+ const string STR1[NUMBER_BUTTONS] = {"Button1", "Button2", "Button3", "Activate"};
+ ButtonGroup bGroup1(160, 54, 66, 40, NUMBER_BUTTONS, STR1, 5, 5, 3, 1,
+ Font12, LCD_COLOR_WHITE, 0xFF003538, 0xFFB70068, 0xFFFF7FFF);
+ NumericLabel<int> bTouch(240, 112, Label::LEFT, Font12, LCD_COLOR_MAGENTA);
+
+ // Control status of bGroup1
+ ButtonGroup bGroup2(160, 150, 66, 40, 3, (string[]){"0", "1", "2"}, 5, 5, 3);
+ bGroup2.InactivateAll();
+
+ // Switching buttons to control barH active or inactive
+ ButtonGroup bGroup3(10, 150, 66, 40, 2, (string[]){"ON", "OFF"}, 0, 0, 2);
+ bGroup3.TouchedColor(0);
+
+ Button doNotTouch(250, 220, 120, 40, "Don't Touch", Font12,
+ GuiBase::ENUM_TEXT, GuiBase::ENUM_BACK,
+ LCD_COLOR_DARKGREEN, LCD_COLOR_RED);
+
+ // Using default value for argument (Horizontal)
+ SeekBar barH(20, 250, 200, -5, 5, 0, "-5", "", "5");
+ NumericLabel<float> numLabel1(80, 205, "%5.1f", barH.GetValue());
+ NumericLabel<int> numLabel2(130, 205, "%3d", (int)barH.GetValue());
+ NumericLabel<int> numLabel3(160, 205);
+
+ // SeekbarGroup (vertical)
+ SeekbarGroup barV(410, 130, 121, 2, 45, -6, 6, 2,
+ SeekBar::Vertical, 0xFFA0FFC0);
+ NumericLabel<float> **numLabel4;
+ numLabel4 = new NumericLabel<float> *[2];
+ for (int n=0; n<2; n++) numLabel4[n] =
+ new NumericLabel<float>(410+n*45, 104, "%4.1f", barV.GetValue(n), Label::CENTER);
+ NumericLabel<int> numLabel5(455, 92, "%1d", barV.GetIntValue(0), Label::CENTER);
+
+ // Test of left-, cenrer-, and right-justified
+ Label leftJustified(420, 54, "ABC", Label::LEFT);
+ Label centerJustified(420, 64, "ABC", Label::CENTER);
+ Label rightJustified1(420, 74, "ABC", Label::RIGHT);
+
+ while (true)
+ {
+ if (button1.Touched()) button2.Draw();
+ if (button2.Touched()) button1.Draw();
+
+ int num;
+ if (bGroup1.GetTouchedNumber(num))
+ bTouch.Draw("Button%d touched", num+1);
+ if (num == 3)
+ bGroup2.ActivateAll();
+
+ if (bGroup2.GetTouchedNumber(num))
+ switch (num)
+ {
+ case 0: button1.Activate();
+ bGroup1.Activate(1);
+ BSP_LED_On(DISCO_LED_BLUE);
+ bGroup1.DrawAll();
+ break;
+ case 1: button1.Inactivate();
+ bGroup1.Inactivate(1);
+ BSP_LED_Off(DISCO_LED_BLUE);
+ break;
+ case 2: bGroup1.EraseAll();//for (int n=0; n<4; n++) bGroup1.Erase(n);
+ for (int n=0; n<2; n++)
+ {
+ barV.Draw(n, 0); // reset seekbar
+ numLabel4[n]->Draw("%4.1f", barV.GetValue(n));
+ }
+ break;
+ }
+
+ if (barH.Slide())
+ {
+ numLabel1.Draw("%5.1f", barH.GetValue());
+ int8_t x = (int8_t)barH.GetValue();
+ numLabel2.Draw("%3d", x);
+
+ numLabel3.Draw("%3d", barH.GetIntValue());
+ }
+
+ int sbNum;
+ if (barV.GetSlidedNumber(sbNum))
+ {
+ if (sbNum == 0) numLabel4[sbNum]->Draw("%4.1f", barV.GetValue(sbNum));
+ else numLabel4[sbNum]->Draw("%4.1f", barV.GetValue(sbNum));
+ if (sbNum == 1) numLabel5.Draw("%1d", barV.GetIntValue(sbNum));
+ }
+ // If "doNotTouch" button touched, trapped into endless loop
+ if (doNotTouch.Touched())
+ BlinkLabel warning(250, 200, "You must reset", Label::LEFT, Font16);
+
+ // SeekBar active inactive switching
+ if (bGroup3.Touched(0))
+ {
+ barH.Activate();
+ barV.ActivateAll();
+ }
+ if (bGroup3.Touched(1))
+ {
+ barH.Inactivate();
+ barV.InactivateAll();
+ }
+
+ wait(0.02f);
+ }
+}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Sun Oct 23 16:00:40 2016 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/2241e3a39974 \ No newline at end of file