F469_GUI Demo

Dependencies:   BSP_DISCO_F469NI F469_GUI LCD_DISCO_F469NI TS_DISCO_F469NI mbed

Files at this revision

API Documentation at this revision

Comitter:
inkiiin
Date:
Sun Oct 23 16:00:40 2016 +0000
Commit message:
Demo Aplication for F469_GUI

Changed in this revision

BSP_DISCO_F469NI.lib Show annotated file Show diff for this revision Revisions of this file
F469_GUI.lib Show annotated file Show diff for this revision Revisions of this file
LCD_DISCO_F469NI.lib Show annotated file Show diff for this revision Revisions of this file
TS_DISCO_F469NI.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
diff -r 000000000000 -r 0a8891401c4f BSP_DISCO_F469NI.lib
--- /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
diff -r 000000000000 -r 0a8891401c4f F469_GUI.lib
--- /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
diff -r 000000000000 -r 0a8891401c4f LCD_DISCO_F469NI.lib
--- /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
diff -r 000000000000 -r 0a8891401c4f TS_DISCO_F469NI.lib
--- /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
diff -r 000000000000 -r 0a8891401c4f main.cpp
--- /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);
+    }
+}
diff -r 000000000000 -r 0a8891401c4f mbed.bld
--- /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