Aida Pločo Tarik Demirović

Dependencies:   mbed

main.cpp

Committer:
tim003
Date:
2014-05-05
Revision:
0:6add2ae91f06

File content as of revision 0:6add2ae91f06:

#include "mbed.h"

DigitalIn Ulaz1(dp9);
DigitalIn Ulaz2(dp10);
DigitalIn Ulaz3(dp11);
DigitalIn Ulaz4(dp13);
DigitalOut Izlaz1(dp2);
DigitalOut Izlaz2(dp1);
DigitalOut Izlaz3(dp28);
DigitalOut Izlaz4(dp6);

Ticker t1;
Timer debounce;
char ispis;

Serial pc(USBTX, USBRX);

char kojiJePritisnut()
{
    Izlaz1 = 1;
    Izlaz2 = 0;
    Izlaz3 = 0;
    Izlaz4 = 0;
    if(Ulaz1){
            return '1';
        }
    if(Ulaz2){
            return '2';
        }
    if(Ulaz3){
            return '3';
        }
    if(Ulaz4){
            return 'A';
        }
        
    Izlaz1 = 0;
    Izlaz2 = 1;
    Izlaz3 = 0;
    Izlaz4 = 0;
    if(Ulaz1){
            return '4';
        }
    if(Ulaz2){
            return '5';
        }
    if(Ulaz3){
            return '6';
        }
    if(Ulaz4){
            return 'B';
        }
    
    Izlaz1 = 0;
    Izlaz2 = 0;
    Izlaz3 = 1;
    Izlaz4 = 0;
    if(Ulaz1){
            return '7';
        }
    if(Ulaz2){
            return '8';
        }
    if(Ulaz3){
            return '9';
        }
    if(Ulaz4){
            return 'C';
        }
    
    Izlaz1 = 0;
    Izlaz2 = 0;
    Izlaz3 = 0;
    Izlaz4 = 1;
    if(Ulaz1){
            return '\n'; //newline
        }
    if(Ulaz2){
            return '0';
        }
    if(Ulaz3){
            return '#';
        }
    if(Ulaz4){
            return 'D';
        }
    
    return 0;
}

void ocitajTast()
{
    if(debounce.read_ms() < 200)
        return;
        
    ispis = kojiJePritisnut();
    if(ispis == 0)
        return;
    
    pc.putc(ispis);
    
    debounce.reset();
}

int main() {
    debounce.start();
    while(1)
        ocitajTast();
}