Haris Spahic Ensar Muratovic

Dependencies:   mbed

main.cpp

Committer:
tim003
Date:
2014-05-08
Revision:
0:ab44456b9c0f

File content as of revision 0:ab44456b9c0f:

#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() < 150)
      return;
        
    ispis = kojiJePritisnut();
    if(ispis == 0)
        return;
    
    pc.putc(ispis);
    
    debounce.reset();
}
 
int main() {
    debounce.start();
    while(1)
        ocitajTast();
}