LAB3

Dependencies:   mbed

Committer:
moove1334
Date:
Thu Nov 02 13:52:06 2017 +0000
Revision:
0:90e426491ea8
LAB3 FRA221;

Who changed what in which revision?

UserRevisionLine numberNew contents of line
moove1334 0:90e426491ea8 1 #include "mbed.h"
moove1334 0:90e426491ea8 2
moove1334 0:90e426491ea8 3 Serial pc(D1,D0);
moove1334 0:90e426491ea8 4
moove1334 0:90e426491ea8 5 BusOut Outled(D2, D3, D4, D5, D6, D7, D8, D9);
moove1334 0:90e426491ea8 6
moove1334 0:90e426491ea8 7 DigitalIn in1(D10);
moove1334 0:90e426491ea8 8 DigitalIn in2(D11);
moove1334 0:90e426491ea8 9 DigitalIn in3(D12);
moove1334 0:90e426491ea8 10
moove1334 0:90e426491ea8 11 void printmenu0()
moove1334 0:90e426491ea8 12 {
moove1334 0:90e426491ea8 13 pc.printf("START A-16 PROGRAM\n");
moove1334 0:90e426491ea8 14 pc.printf("[press1] Menu1\n");
moove1334 0:90e426491ea8 15 pc.printf("[press2] Menu2\n");
moove1334 0:90e426491ea8 16 }
moove1334 0:90e426491ea8 17
moove1334 0:90e426491ea8 18 void printmenu1()
moove1334 0:90e426491ea8 19 {
moove1334 0:90e426491ea8 20 pc.printf("1 LED PATTERN \n");
moove1334 0:90e426491ea8 21 pc.printf("[prees a] first_pattern \n");
moove1334 0:90e426491ea8 22 pc.printf("[prees d] second_pattern \n");
moove1334 0:90e426491ea8 23 pc.printf("[prees s] exit \n");
moove1334 0:90e426491ea8 24 }
moove1334 0:90e426491ea8 25
moove1334 0:90e426491ea8 26 void printmenu2()
moove1334 0:90e426491ea8 27 {
moove1334 0:90e426491ea8 28 pc.printf("3 INPUTS STATUS \n");
moove1334 0:90e426491ea8 29 }
moove1334 0:90e426491ea8 30
moove1334 0:90e426491ea8 31 void menu1_A()
moove1334 0:90e426491ea8 32 {
moove1334 0:90e426491ea8 33 int array1[5] = {240, 28, 6, 1,0};
moove1334 0:90e426491ea8 34 for(int i=0; i<5; i++) {
moove1334 0:90e426491ea8 35 Outled = array1[i];
moove1334 0:90e426491ea8 36 wait(0.25);
moove1334 0:90e426491ea8 37 }
moove1334 0:90e426491ea8 38 }
moove1334 0:90e426491ea8 39
moove1334 0:90e426491ea8 40 void menu1_D()
moove1334 0:90e426491ea8 41 {
moove1334 0:90e426491ea8 42 int array1[9] = {1,192,7,240,31,252,127,255,0};
moove1334 0:90e426491ea8 43 for(int i = 0; i<9; i++) {
moove1334 0:90e426491ea8 44 Outled = array1[i];
moove1334 0:90e426491ea8 45 wait(0.5);
moove1334 0:90e426491ea8 46 }
moove1334 0:90e426491ea8 47 }
moove1334 0:90e426491ea8 48
moove1334 0:90e426491ea8 49
moove1334 0:90e426491ea8 50 void menu2()
moove1334 0:90e426491ea8 51 {
moove1334 0:90e426491ea8 52 pc.printf(" switch1 switch2 switch3\n");
moove1334 0:90e426491ea8 53 pc.printf(" %d %d %d \n ",in1.read(),in2.read(),in3.read());
moove1334 0:90e426491ea8 54 wait(1);
moove1334 0:90e426491ea8 55 }
moove1334 0:90e426491ea8 56
moove1334 0:90e426491ea8 57 int main()
moove1334 0:90e426491ea8 58 {
moove1334 0:90e426491ea8 59 int state_menu = 0;
moove1334 0:90e426491ea8 60 int state_show = 1;
moove1334 0:90e426491ea8 61 char data;
moove1334 0:90e426491ea8 62
moove1334 0:90e426491ea8 63 while (true) {
moove1334 0:90e426491ea8 64
moove1334 0:90e426491ea8 65 if(pc.readable()) {
moove1334 0:90e426491ea8 66 data = pc.getc();
moove1334 0:90e426491ea8 67 }
moove1334 0:90e426491ea8 68
moove1334 0:90e426491ea8 69 if(state_menu == 0 && state_show ==1) {
moove1334 0:90e426491ea8 70 printmenu0();
moove1334 0:90e426491ea8 71 state_show = 0;
moove1334 0:90e426491ea8 72 }
moove1334 0:90e426491ea8 73
moove1334 0:90e426491ea8 74 if (state_menu == 0 && data == '1') {
moove1334 0:90e426491ea8 75 printmenu1();
moove1334 0:90e426491ea8 76 state_menu = 1;
moove1334 0:90e426491ea8 77 state_show = 0;
moove1334 0:90e426491ea8 78 } else if (state_menu == 0 && data == '2') {
moove1334 0:90e426491ea8 79 printmenu2();
moove1334 0:90e426491ea8 80 state_menu = 2;
moove1334 0:90e426491ea8 81 state_show = 0;
moove1334 0:90e426491ea8 82 }
moove1334 0:90e426491ea8 83
moove1334 0:90e426491ea8 84 if (state_menu == 1 && data == 'a') {
moove1334 0:90e426491ea8 85 menu1_A();
moove1334 0:90e426491ea8 86 } else if (state_menu == 1 && data == 'd') {
moove1334 0:90e426491ea8 87 menu1_D();
moove1334 0:90e426491ea8 88 } else if (state_menu == 1 && data == 's') {
moove1334 0:90e426491ea8 89 Outled = 0;
moove1334 0:90e426491ea8 90 state_menu = 0;
moove1334 0:90e426491ea8 91 state_show = 1;
moove1334 0:90e426491ea8 92 }
moove1334 0:90e426491ea8 93
moove1334 0:90e426491ea8 94 if (state_menu == 2 && data == '2') {
moove1334 0:90e426491ea8 95 menu2();
moove1334 0:90e426491ea8 96 } else if (state_menu == 2 && data == 's') {
moove1334 0:90e426491ea8 97 state_menu = 0;
moove1334 0:90e426491ea8 98 state_show = 1;
moove1334 0:90e426491ea8 99 }
moove1334 0:90e426491ea8 100
moove1334 0:90e426491ea8 101
moove1334 0:90e426491ea8 102 }
moove1334 0:90e426491ea8 103
moove1334 0:90e426491ea8 104 }