Vision Industrielle / IHM pour pilotage éclairage et convoyeur
Dependencies: F746_GUI_vV mbed Vision_Indus_IHM
main.cpp@0:629ff18592b9, 2016-03-31 (annotated)
- Committer:
- MikamiUitOpen
- Date:
- Thu Mar 31 07:33:36 2016 +0000
- Revision:
- 0:629ff18592b9
- Child:
- 1:b4bcb6fa2a1d
1
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
MikamiUitOpen | 0:629ff18592b9 | 1 | //--------------------------------------------------------------------- |
MikamiUitOpen | 0:629ff18592b9 | 2 | // GuiBase とその派生クラスのデモプログラム |
MikamiUitOpen | 0:629ff18592b9 | 3 | // Demo program for GuiBase class and its derivertive classes |
MikamiUitOpen | 0:629ff18592b9 | 4 | // GuiBase, Button, ButtonGroup, Label, NumericLabel, SeekBar |
MikamiUitOpen | 0:629ff18592b9 | 5 | // |
MikamiUitOpen | 0:629ff18592b9 | 6 | // 2016/03/31, Copyright (c) 2016 MIKAMI, Naoki |
MikamiUitOpen | 0:629ff18592b9 | 7 | //--------------------------------------------------------------------- |
MikamiUitOpen | 0:629ff18592b9 | 8 | |
MikamiUitOpen | 0:629ff18592b9 | 9 | #include "NumericLabel.hpp" |
MikamiUitOpen | 0:629ff18592b9 | 10 | #include "ButtonGroup.hpp" |
MikamiUitOpen | 0:629ff18592b9 | 11 | #include "SeekBar.hpp" |
MikamiUitOpen | 0:629ff18592b9 | 12 | |
MikamiUitOpen | 0:629ff18592b9 | 13 | using namespace Mikami; |
MikamiUitOpen | 0:629ff18592b9 | 14 | |
MikamiUitOpen | 0:629ff18592b9 | 15 | Ticker timer; |
MikamiUitOpen | 0:629ff18592b9 | 16 | NumericLabel<float> obj2(10, 150, Label::LEFT, Font16, LCD_COLOR_YELLOW); |
MikamiUitOpen | 0:629ff18592b9 | 17 | |
MikamiUitOpen | 0:629ff18592b9 | 18 | void TimerIsr() |
MikamiUitOpen | 0:629ff18592b9 | 19 | { |
MikamiUitOpen | 0:629ff18592b9 | 20 | static int sec = 0; |
MikamiUitOpen | 0:629ff18592b9 | 21 | obj2.Draw("%6.1f [s]", (float)(sec++)/10.0f); |
MikamiUitOpen | 0:629ff18592b9 | 22 | } |
MikamiUitOpen | 0:629ff18592b9 | 23 | |
MikamiUitOpen | 0:629ff18592b9 | 24 | int main() |
MikamiUitOpen | 0:629ff18592b9 | 25 | { |
MikamiUitOpen | 0:629ff18592b9 | 26 | Label obj10(240, 4, "Test: GUI parts", Label::CENTER, Font16); |
MikamiUitOpen | 0:629ff18592b9 | 27 | Label obj11(240, 20, "Label, NumericLabel, Button, ButtonGroup, SeekBar", |
MikamiUitOpen | 0:629ff18592b9 | 28 | Label::CENTER); |
MikamiUitOpen | 0:629ff18592b9 | 29 | |
MikamiUitOpen | 0:629ff18592b9 | 30 | Button button1(10, 50, 50, 40, "1"); |
MikamiUitOpen | 0:629ff18592b9 | 31 | Button button2(62, 50, 50, 40, "2"); |
MikamiUitOpen | 0:629ff18592b9 | 32 | |
MikamiUitOpen | 0:629ff18592b9 | 33 | button1.Erase(); |
MikamiUitOpen | 0:629ff18592b9 | 34 | wait(0.5f); |
MikamiUitOpen | 0:629ff18592b9 | 35 | button1.Draw(); |
MikamiUitOpen | 0:629ff18592b9 | 36 | |
MikamiUitOpen | 0:629ff18592b9 | 37 | const int NUMBER_BUTTONS = 4; |
MikamiUitOpen | 0:629ff18592b9 | 38 | const string STR1[NUMBER_BUTTONS] = {"Button1", "Button2", "Button3", "Button4"}; |
MikamiUitOpen | 0:629ff18592b9 | 39 | ButtonGroup bGroup1(160, 50, 66, 40, NUMBER_BUTTONS, STR1, 5, 5, 3, 1, |
MikamiUitOpen | 0:629ff18592b9 | 40 | Font12, LCD_COLOR_WHITE, 0xFF003538, 0xFFB70068, 0xFFFF7FFF); |
MikamiUitOpen | 0:629ff18592b9 | 41 | |
MikamiUitOpen | 0:629ff18592b9 | 42 | const string STR2[3] = {"0", "1", "2"}; |
MikamiUitOpen | 0:629ff18592b9 | 43 | ButtonGroup bGroup2(160, 150, 66, 40, 3, STR2, 5, 5, 3); |
MikamiUitOpen | 0:629ff18592b9 | 44 | |
MikamiUitOpen | 0:629ff18592b9 | 45 | // 引数にデフォルト値を使う場合(横方向) |
MikamiUitOpen | 0:629ff18592b9 | 46 | SeekBar bar(20, 240, 200, -5, 5, 0); |
MikamiUitOpen | 0:629ff18592b9 | 47 | NumericLabel<float> numLabel1(20, 200, "%5.1f", bar.GetValue()); |
MikamiUitOpen | 0:629ff18592b9 | 48 | NumericLabel<int> numLabel2(90, 200, "%3d", (int)bar.GetValue()); |
MikamiUitOpen | 0:629ff18592b9 | 49 | NumericLabel<int> numLabel3(120, 200); |
MikamiUitOpen | 0:629ff18592b9 | 50 | |
MikamiUitOpen | 0:629ff18592b9 | 51 | SeekBar bar2(440, 100, 150, -5, 5, 2, SeekBar::Vertical, LCD_COLOR_GREEN); |
MikamiUitOpen | 0:629ff18592b9 | 52 | NumericLabel<float> numLabel4(440, 70, "%4.1f", bar2.GetValue(), Label::CENTER); |
MikamiUitOpen | 0:629ff18592b9 | 53 | |
MikamiUitOpen | 0:629ff18592b9 | 54 | timer.attach(&TimerIsr, 0.1f); |
MikamiUitOpen | 0:629ff18592b9 | 55 | |
MikamiUitOpen | 0:629ff18592b9 | 56 | while (true) |
MikamiUitOpen | 0:629ff18592b9 | 57 | { |
MikamiUitOpen | 0:629ff18592b9 | 58 | if (button1.Touched()) button2.Draw(); |
MikamiUitOpen | 0:629ff18592b9 | 59 | if (button2.Touched()) button1.Draw(); |
MikamiUitOpen | 0:629ff18592b9 | 60 | |
MikamiUitOpen | 0:629ff18592b9 | 61 | int num; |
MikamiUitOpen | 0:629ff18592b9 | 62 | if (bGroup1.GetTouchedNumber(num)) |
MikamiUitOpen | 0:629ff18592b9 | 63 | printf("Button%d touched\r\n", num+1); |
MikamiUitOpen | 0:629ff18592b9 | 64 | |
MikamiUitOpen | 0:629ff18592b9 | 65 | if (bGroup2.Touched(0)) |
MikamiUitOpen | 0:629ff18592b9 | 66 | { |
MikamiUitOpen | 0:629ff18592b9 | 67 | button1.Activate(); |
MikamiUitOpen | 0:629ff18592b9 | 68 | bGroup1.Activate(1); |
MikamiUitOpen | 0:629ff18592b9 | 69 | } |
MikamiUitOpen | 0:629ff18592b9 | 70 | |
MikamiUitOpen | 0:629ff18592b9 | 71 | if (bGroup2.Touched(1)) |
MikamiUitOpen | 0:629ff18592b9 | 72 | { |
MikamiUitOpen | 0:629ff18592b9 | 73 | button1.Inactivate(); |
MikamiUitOpen | 0:629ff18592b9 | 74 | bGroup1.Inactivate(1); |
MikamiUitOpen | 0:629ff18592b9 | 75 | } |
MikamiUitOpen | 0:629ff18592b9 | 76 | |
MikamiUitOpen | 0:629ff18592b9 | 77 | if (bar.Slide()) |
MikamiUitOpen | 0:629ff18592b9 | 78 | { |
MikamiUitOpen | 0:629ff18592b9 | 79 | numLabel1.Draw("%5.1f", bar.GetValue()); |
MikamiUitOpen | 0:629ff18592b9 | 80 | int8_t x = (int8_t)bar.GetValue(); |
MikamiUitOpen | 0:629ff18592b9 | 81 | numLabel2.Draw("%3d", x); |
MikamiUitOpen | 0:629ff18592b9 | 82 | |
MikamiUitOpen | 0:629ff18592b9 | 83 | numLabel3.Draw("%3d", bar.GetIntValue()); |
MikamiUitOpen | 0:629ff18592b9 | 84 | } |
MikamiUitOpen | 0:629ff18592b9 | 85 | |
MikamiUitOpen | 0:629ff18592b9 | 86 | if (bar2.Slide()) { numLabel4.Draw("%4.1f", bar2.GetValue()); } |
MikamiUitOpen | 0:629ff18592b9 | 87 | |
MikamiUitOpen | 0:629ff18592b9 | 88 | wait(0.02f); |
MikamiUitOpen | 0:629ff18592b9 | 89 | } |
MikamiUitOpen | 0:629ff18592b9 | 90 | } |