Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: 201_test-UI 200_yotsuba_21
ui.cpp@1:ed6249618fd3, 2021-03-03 (annotated)
- Committer:
- piroro4560
- Date:
- Wed Mar 03 11:49:25 2021 +0000
- Revision:
- 1:ed6249618fd3
- Parent:
- 0:2623196cd444
- Child:
- 2:a5e8e6156172
2021/3/3; toggle, button, lcd
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| piroro4560 | 0:2623196cd444 | 1 | #include "ui.h" |
| piroro4560 | 0:2623196cd444 | 2 | |
| piroro4560 | 0:2623196cd444 | 3 | UI::UI() |
| piroro4560 | 1:ed6249618fd3 | 4 | : lcd(PB_9, PB_8), |
| piroro4560 | 1:ed6249618fd3 | 5 | b0_(PC_3), |
| piroro4560 | 1:ed6249618fd3 | 6 | tgl1(PA_9), |
| piroro4560 | 1:ed6249618fd3 | 7 | tgl2(PB_10), |
| piroro4560 | 1:ed6249618fd3 | 8 | tgl3(PB_5), |
| piroro4560 | 1:ed6249618fd3 | 9 | buzz(PC_7) |
| piroro4560 | 0:2623196cd444 | 10 | { |
| piroro4560 | 1:ed6249618fd3 | 11 | team = 0;//初期化 |
| piroro4560 | 0:2623196cd444 | 12 | algorithm = 0; |
| piroro4560 | 0:2623196cd444 | 13 | displayst = 0; |
| piroro4560 | 1:ed6249618fd3 | 14 | mode = 0; |
| piroro4560 | 1:ed6249618fd3 | 15 | name1 = name2 = NULL; |
| piroro4560 | 1:ed6249618fd3 | 16 | for (int i = 0; i < 4; i++) b[i] = b_[i] = 0; |
| piroro4560 | 1:ed6249618fd3 | 17 | UIthread.start(callback(this,&UI::display)); |
| piroro4560 | 1:ed6249618fd3 | 18 | } |
| piroro4560 | 1:ed6249618fd3 | 19 | |
| piroro4560 | 1:ed6249618fd3 | 20 | void UI::updatebt() |
| piroro4560 | 1:ed6249618fd3 | 21 | { |
| piroro4560 | 1:ed6249618fd3 | 22 | b0 = b0_ * 100; |
| piroro4560 | 1:ed6249618fd3 | 23 | for(int i = 0; i < 4; i++){ |
| piroro4560 | 1:ed6249618fd3 | 24 | if((b0 > 10*(2*i + 3)) && (b0 < 10*(2*i + 5))) b[i] = 1; |
| piroro4560 | 1:ed6249618fd3 | 25 | else b[i] = 0; |
| piroro4560 | 1:ed6249618fd3 | 26 | } |
| piroro4560 | 1:ed6249618fd3 | 27 | if(b[0] && (!b_[0])){ |
| piroro4560 | 1:ed6249618fd3 | 28 | team = !team; |
| piroro4560 | 1:ed6249618fd3 | 29 | buzz.beep(1760.0,0.2); |
| piroro4560 | 1:ed6249618fd3 | 30 | } |
| piroro4560 | 1:ed6249618fd3 | 31 | if(b[1] && (!b_[1])){ |
| piroro4560 | 1:ed6249618fd3 | 32 | ++algorithm %= 5; |
| piroro4560 | 1:ed6249618fd3 | 33 | buzz.beep(1760.0,0.4); |
| piroro4560 | 1:ed6249618fd3 | 34 | } |
| piroro4560 | 1:ed6249618fd3 | 35 | if(b[2] && (!b_[2])){ |
| piroro4560 | 1:ed6249618fd3 | 36 | ++displayst %= 4; |
| piroro4560 | 1:ed6249618fd3 | 37 | buzz.beep(1760.0,0.6); |
| piroro4560 | 1:ed6249618fd3 | 38 | } |
| piroro4560 | 1:ed6249618fd3 | 39 | if(b[3] && (!b_[3])){ |
| piroro4560 | 1:ed6249618fd3 | 40 | start = !start; |
| piroro4560 | 1:ed6249618fd3 | 41 | buzz.beep(1760.0,0.6); |
| piroro4560 | 1:ed6249618fd3 | 42 | } |
| piroro4560 | 1:ed6249618fd3 | 43 | for(int i = 0; i < 4; i++) b_[i] = b[i]; |
| piroro4560 | 1:ed6249618fd3 | 44 | mode = (4*!tgl1)+(2*!tgl2)+(!tgl3); |
| piroro4560 | 0:2623196cd444 | 45 | } |
| piroro4560 | 0:2623196cd444 | 46 | |
| piroro4560 | 1:ed6249618fd3 | 47 | void UI::change(char *valname1_, char *valname2_, double *dispvalue_) |
| piroro4560 | 0:2623196cd444 | 48 | { |
| piroro4560 | 1:ed6249618fd3 | 49 | name1 = valname1_; |
| piroro4560 | 1:ed6249618fd3 | 50 | name2 = valname2_; |
| piroro4560 | 1:ed6249618fd3 | 51 | dispvalue[0] = dispvalue_[0]; |
| piroro4560 | 1:ed6249618fd3 | 52 | dispvalue[1] = dispvalue_[1]; |
| piroro4560 | 0:2623196cd444 | 53 | } |
| piroro4560 | 0:2623196cd444 | 54 | |
| piroro4560 | 1:ed6249618fd3 | 55 | //void UI::display(char *valname1, char *valname2, double *dispvalue) |
| piroro4560 | 1:ed6249618fd3 | 56 | void UI::display() |
| piroro4560 | 0:2623196cd444 | 57 | { |
| piroro4560 | 1:ed6249618fd3 | 58 | while(1) { |
| piroro4560 | 1:ed6249618fd3 | 59 | updatebt(); |
| piroro4560 | 1:ed6249618fd3 | 60 | ThisThread::sleep_for(10ms); |
| piroro4560 | 1:ed6249618fd3 | 61 | lcd.clear(); |
| piroro4560 | 1:ed6249618fd3 | 62 | |
| piroro4560 | 1:ed6249618fd3 | 63 | lcd.setCursor(0,0); |
| piroro4560 | 1:ed6249618fd3 | 64 | lcd.print(algorithm);//algo |
| piroro4560 | 1:ed6249618fd3 | 65 | |
| piroro4560 | 1:ed6249618fd3 | 66 | lcd.setCursor(0,0); |
| piroro4560 | 1:ed6249618fd3 | 67 | lcd.print(algorithm);//algo |
| piroro4560 | 1:ed6249618fd3 | 68 | lcd.setCursor(1,0); |
| piroro4560 | 1:ed6249618fd3 | 69 | lcd.print(displayst); |
| piroro4560 | 1:ed6249618fd3 | 70 | lcd.setCursor(2,0); |
| piroro4560 | 1:ed6249618fd3 | 71 | lcd.print(name1);// |
| piroro4560 | 1:ed6249618fd3 | 72 | lcd.setCursor(5,0); |
| piroro4560 | 1:ed6249618fd3 | 73 | lcd.print(dispvalue[0]); |
| piroro4560 | 1:ed6249618fd3 | 74 | /* |
| piroro4560 | 1:ed6249618fd3 | 75 | lcd.print(b[0]); |
| piroro4560 | 1:ed6249618fd3 | 76 | lcd.setCursor(6,0); |
| piroro4560 | 1:ed6249618fd3 | 77 | lcd.print(b[1]); |
| piroro4560 | 1:ed6249618fd3 | 78 | lcd.setCursor(7,0); |
| piroro4560 | 1:ed6249618fd3 | 79 | lcd.print(b[2]); |
| piroro4560 | 1:ed6249618fd3 | 80 | */ |
| piroro4560 | 1:ed6249618fd3 | 81 | lcd.setCursor(0,1); |
| piroro4560 | 1:ed6249618fd3 | 82 | lcd.print(team);//team |
| piroro4560 | 1:ed6249618fd3 | 83 | lcd.setCursor(1,1); |
| piroro4560 | 1:ed6249618fd3 | 84 | lcd.print(mode); |
| piroro4560 | 1:ed6249618fd3 | 85 | lcd.setCursor(2,1); |
| piroro4560 | 1:ed6249618fd3 | 86 | lcd.print(name2);// |
| piroro4560 | 1:ed6249618fd3 | 87 | lcd.setCursor(5,1); |
| piroro4560 | 1:ed6249618fd3 | 88 | lcd.print(dispvalue[1]); |
| piroro4560 | 1:ed6249618fd3 | 89 | // lcd.print(b0); |
| piroro4560 | 1:ed6249618fd3 | 90 | ThisThread::sleep_for(40); |
| piroro4560 | 1:ed6249618fd3 | 91 | } |
| piroro4560 | 1:ed6249618fd3 | 92 | } |
| piroro4560 | 1:ed6249618fd3 | 93 | |
| piroro4560 | 1:ed6249618fd3 | 94 | void UI::returnchar(char *buf) |
| piroro4560 | 1:ed6249618fd3 | 95 | { |
| piroro4560 | 1:ed6249618fd3 | 96 | for(int i = 0; i < 4; i++) |
| piroro4560 | 1:ed6249618fd3 | 97 | { |
| piroro4560 | 1:ed6249618fd3 | 98 | buf[i] = name1[i]; |
| piroro4560 | 1:ed6249618fd3 | 99 | } |
| piroro4560 | 0:2623196cd444 | 100 | } |