programme capteur d'empreinte digital

Dependencies:   F746_GUI mbed

Committer:
MikamiUitOpen
Date:
Mon Mar 19 04:21:00 2018 +0000
Revision:
25:586781d009dd
Parent:
24:0191b2cbe7d9
Child:
26:0e5bf5f7a6d5
26

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MikamiUitOpen 14:36859ef194d1 1 //-----------------------------------------------------------------------
MikamiUitOpen 0:629ff18592b9 2 // GuiBase とその派生クラスのデモプログラム
MikamiUitOpen 0:629ff18592b9 3 // Demo program for GuiBase class and its derivertive classes
MikamiUitOpen 1:b4bcb6fa2a1d 4 //
MikamiUitOpen 8:8a55f2e374da 5 // GuiBase, Button, ButtonGroup, Label, NumericLabel, BlinkLabel,
MikamiUitOpen 25:586781d009dd 6 // SeekBar, SeekbarGroup, NumericUpDown
MikamiUitOpen 0:629ff18592b9 7 //
MikamiUitOpen 25:586781d009dd 8 // <インポートしたライブラリのリビジョン>
MikamiUitOpen 25:586781d009dd 9 // F746_GUI 33
MikamiUitOpen 25:586781d009dd 10 // mbed 161
MikamiUitOpen 25:586781d009dd 11 //
MikamiUitOpen 25:586781d009dd 12 // 2018/03/12, Copyright (c) 2018 MIKAMI, Naoki
MikamiUitOpen 14:36859ef194d1 13 //-----------------------------------------------------------------------
MikamiUitOpen 0:629ff18592b9 14
MikamiUitOpen 15:57ef81ebf5bd 15 #include "F746_GUI.hpp"
MikamiUitOpen 0:629ff18592b9 16
MikamiUitOpen 0:629ff18592b9 17 int main()
MikamiUitOpen 0:629ff18592b9 18 {
MikamiUitOpen 25:586781d009dd 19 Label obj10(240, 2, "Demo: GUI parts, 2018/03/12", Label::CENTER, Font16);
MikamiUitOpen 11:0195d802ab3d 20 Label obj11(240, 20, "Button, ButtonGroup, Label, NumericLabel, BlinkLabel,",
MikamiUitOpen 11:0195d802ab3d 21 Label::CENTER);
MikamiUitOpen 25:586781d009dd 22 Label obj12(240, 32, "SeekBar, SeekbarGroup, NumericUpDown",
MikamiUitOpen 0:629ff18592b9 23 Label::CENTER);
MikamiUitOpen 0:629ff18592b9 24
MikamiUitOpen 25:586781d009dd 25 Button button1(10, 54, 30, 35, "1");
MikamiUitOpen 25:586781d009dd 26 Button button2(42, 54, 30, 35, "2");
MikamiUitOpen 0:629ff18592b9 27
MikamiUitOpen 0:629ff18592b9 28 const int NUMBER_BUTTONS = 4;
MikamiUitOpen 7:5788d0406bfd 29 const string STR1[NUMBER_BUTTONS] = {"Button1", "Button2", "Button3", "Activate"};
MikamiUitOpen 25:586781d009dd 30 ButtonGroup bGroup1(168, 54, 66, 35, NUMBER_BUTTONS, STR1, 2, 2, 3, 1,
MikamiUitOpen 0:629ff18592b9 31 Font12, LCD_COLOR_WHITE, 0xFF003538, 0xFFB70068, 0xFFFF7FFF);
MikamiUitOpen 16:3aed2b59c2c4 32 NumericLabel<int> bTouch(240, 112, "", Label::LEFT, Font12, LCD_COLOR_MAGENTA);
MikamiUitOpen 0:629ff18592b9 33
MikamiUitOpen 25:586781d009dd 34 // Control status of bGroup2
MikamiUitOpen 25:586781d009dd 35 ButtonGroup bGroup2(168, 150, 66, 40, 3, (string[]){"0", "1", "2"}, 5, 5, 3);
MikamiUitOpen 7:5788d0406bfd 36 bGroup2.InactivateAll();
MikamiUitOpen 1:b4bcb6fa2a1d 37
MikamiUitOpen 3:e92615be71c7 38 // Switching buttons to control barH active or inactive
MikamiUitOpen 25:586781d009dd 39 ButtonGroup bGroup3(78, 54, 40, 35, 2, (string[]){"ON", "OFF"}, 0, 0, 2);
MikamiUitOpen 3:e92615be71c7 40 bGroup3.TouchedColor(0);
MikamiUitOpen 3:e92615be71c7 41
MikamiUitOpen 1:b4bcb6fa2a1d 42 Button doNotTouch(250, 220, 120, 40, "Don't Touch", Font12,
MikamiUitOpen 1:b4bcb6fa2a1d 43 GuiBase::ENUM_TEXT, GuiBase::ENUM_BACK,
MikamiUitOpen 1:b4bcb6fa2a1d 44 LCD_COLOR_DARKGREEN, LCD_COLOR_RED);
MikamiUitOpen 0:629ff18592b9 45
MikamiUitOpen 7:5788d0406bfd 46 // Using default value for argument (Horizontal)
MikamiUitOpen 4:4f73a3054a67 47 SeekBar barH(20, 250, 200, -5, 5, 0, "-5", "", "5");
MikamiUitOpen 4:4f73a3054a67 48 NumericLabel<float> numLabel1(80, 205, "%5.1f", barH.GetValue());
MikamiUitOpen 4:4f73a3054a67 49 NumericLabel<int> numLabel2(130, 205, "%3d", (int)barH.GetValue());
MikamiUitOpen 16:3aed2b59c2c4 50 NumericLabel<int> numLabel3(160, 205, "%3d");
MikamiUitOpen 0:629ff18592b9 51
MikamiUitOpen 8:8a55f2e374da 52 // SeekbarGroup (vertical)
MikamiUitOpen 12:262492b42b04 53 SeekbarGroup barV(410, 130, 121, 2, 45, -6, 6, 2,
MikamiUitOpen 11:0195d802ab3d 54 SeekBar::Vertical, 0xFFA0FFC0);
MikamiUitOpen 21:61059fe1ec47 55
MikamiUitOpen 21:61059fe1ec47 56 Array<NumericLabel<float> *> numLabel4(2);
MikamiUitOpen 8:8a55f2e374da 57 for (int n=0; n<2; n++) numLabel4[n] =
MikamiUitOpen 12:262492b42b04 58 new NumericLabel<float>(410+n*45, 104, "%4.1f", barV.GetValue(n), Label::CENTER);
MikamiUitOpen 21:61059fe1ec47 59
MikamiUitOpen 12:262492b42b04 60 NumericLabel<int> numLabel5(455, 92, "%1d", barV.GetIntValue(0), Label::CENTER);
MikamiUitOpen 8:8a55f2e374da 61
MikamiUitOpen 12:262492b42b04 62 // Test of left-, cenrer-, and right-justified
MikamiUitOpen 14:36859ef194d1 63 Label leftJustified(420, 54, "ABC", Label::LEFT);
MikamiUitOpen 14:36859ef194d1 64 Label centerJustified(420, 64, "ABC", Label::CENTER);
MikamiUitOpen 14:36859ef194d1 65 Label rightJustified1(420, 74, "ABC", Label::RIGHT);
MikamiUitOpen 25:586781d009dd 66
MikamiUitOpen 25:586781d009dd 67 // NumericalUpDown
MikamiUitOpen 25:586781d009dd 68 NumericUpDown nUd(3, 10, 190, 100, 999, 10);
MikamiUitOpen 0:629ff18592b9 69
MikamiUitOpen 0:629ff18592b9 70 while (true)
MikamiUitOpen 0:629ff18592b9 71 {
MikamiUitOpen 0:629ff18592b9 72 if (button1.Touched()) button2.Draw();
MikamiUitOpen 0:629ff18592b9 73 if (button2.Touched()) button1.Draw();
MikamiUitOpen 0:629ff18592b9 74
MikamiUitOpen 0:629ff18592b9 75 int num;
MikamiUitOpen 0:629ff18592b9 76 if (bGroup1.GetTouchedNumber(num))
MikamiUitOpen 1:b4bcb6fa2a1d 77 bTouch.Draw("Button%d touched", num+1);
MikamiUitOpen 7:5788d0406bfd 78 if (num == 3)
MikamiUitOpen 7:5788d0406bfd 79 bGroup2.ActivateAll();
MikamiUitOpen 0:629ff18592b9 80
MikamiUitOpen 1:b4bcb6fa2a1d 81 if (bGroup2.GetTouchedNumber(num))
MikamiUitOpen 1:b4bcb6fa2a1d 82 switch (num)
MikamiUitOpen 0:629ff18592b9 83 {
MikamiUitOpen 1:b4bcb6fa2a1d 84 case 0: button1.Activate();
MikamiUitOpen 1:b4bcb6fa2a1d 85 bGroup1.Activate(1);
MikamiUitOpen 1:b4bcb6fa2a1d 86 bGroup1.DrawAll();
MikamiUitOpen 1:b4bcb6fa2a1d 87 break;
MikamiUitOpen 1:b4bcb6fa2a1d 88 case 1: button1.Inactivate();
MikamiUitOpen 1:b4bcb6fa2a1d 89 bGroup1.Inactivate(1);
MikamiUitOpen 1:b4bcb6fa2a1d 90 break;
MikamiUitOpen 13:270545d8d62e 91 case 2: bGroup1.EraseAll();//for (int n=0; n<4; n++) bGroup1.Erase(n);
MikamiUitOpen 8:8a55f2e374da 92 for (int n=0; n<2; n++)
MikamiUitOpen 8:8a55f2e374da 93 {
MikamiUitOpen 8:8a55f2e374da 94 barV.Draw(n, 0); // reset seekbar
MikamiUitOpen 8:8a55f2e374da 95 numLabel4[n]->Draw("%4.1f", barV.GetValue(n));
MikamiUitOpen 8:8a55f2e374da 96 }
MikamiUitOpen 1:b4bcb6fa2a1d 97 break;
MikamiUitOpen 0:629ff18592b9 98 }
MikamiUitOpen 0:629ff18592b9 99
MikamiUitOpen 3:e92615be71c7 100 if (barH.Slide())
MikamiUitOpen 0:629ff18592b9 101 {
MikamiUitOpen 3:e92615be71c7 102 numLabel1.Draw("%5.1f", barH.GetValue());
MikamiUitOpen 3:e92615be71c7 103 int8_t x = (int8_t)barH.GetValue();
MikamiUitOpen 0:629ff18592b9 104 numLabel2.Draw("%3d", x);
MikamiUitOpen 0:629ff18592b9 105
MikamiUitOpen 16:3aed2b59c2c4 106 numLabel3.Draw(barH.GetIntValue());
MikamiUitOpen 0:629ff18592b9 107 }
MikamiUitOpen 0:629ff18592b9 108
MikamiUitOpen 8:8a55f2e374da 109 int sbNum;
MikamiUitOpen 8:8a55f2e374da 110 if (barV.GetSlidedNumber(sbNum))
MikamiUitOpen 12:262492b42b04 111 {
MikamiUitOpen 12:262492b42b04 112 if (sbNum == 0) numLabel4[sbNum]->Draw("%4.1f", barV.GetValue(sbNum));
MikamiUitOpen 12:262492b42b04 113 else numLabel4[sbNum]->Draw("%4.1f", barV.GetValue(sbNum));
MikamiUitOpen 12:262492b42b04 114 if (sbNum == 1) numLabel5.Draw("%1d", barV.GetIntValue(sbNum));
MikamiUitOpen 12:262492b42b04 115 }
MikamiUitOpen 1:b4bcb6fa2a1d 116 // If "doNotTouch" button touched, trapped into endless loop
MikamiUitOpen 1:b4bcb6fa2a1d 117 if (doNotTouch.Touched())
MikamiUitOpen 1:b4bcb6fa2a1d 118 BlinkLabel warning(250, 200, "You must reset", Label::LEFT, Font16);
MikamiUitOpen 3:e92615be71c7 119
MikamiUitOpen 3:e92615be71c7 120 // SeekBar active inactive switching
MikamiUitOpen 4:4f73a3054a67 121 if (bGroup3.Touched(0))
MikamiUitOpen 4:4f73a3054a67 122 {
MikamiUitOpen 4:4f73a3054a67 123 barH.Activate();
MikamiUitOpen 8:8a55f2e374da 124 barV.ActivateAll();
MikamiUitOpen 4:4f73a3054a67 125 }
MikamiUitOpen 4:4f73a3054a67 126 if (bGroup3.Touched(1))
MikamiUitOpen 4:4f73a3054a67 127 {
MikamiUitOpen 4:4f73a3054a67 128 barH.Inactivate();
MikamiUitOpen 8:8a55f2e374da 129 barV.InactivateAll();
MikamiUitOpen 4:4f73a3054a67 130 }
MikamiUitOpen 25:586781d009dd 131
MikamiUitOpen 25:586781d009dd 132 if (nUd.Touched()) {} // Example of NumericalUpDown
MikamiUitOpen 0:629ff18592b9 133
MikamiUitOpen 0:629ff18592b9 134 wait(0.02f);
MikamiUitOpen 0:629ff18592b9 135 }
MikamiUitOpen 0:629ff18592b9 136 }
MikamiUitOpen 21:61059fe1ec47 137