Huseyin Berkay Berabi / GA-Final

Dependencies:   mbed-dev

Fork of GA-Berkay_Alex by Alejandro Ungria Hirte

Committer:
bberabi
Date:
Sat Dec 09 16:02:58 2017 +0000
Revision:
1:346279def7ac
Parent:
0:a3b83d366423
Child:
3:8bee1711d186
errvv

Who changed what in which revision?

UserRevisionLine numberNew contents of line
aungriah 0:a3b83d366423 1 #include "PC.h"
aungriah 0:a3b83d366423 2 #include "mbed.h"
aungriah 0:a3b83d366423 3
aungriah 0:a3b83d366423 4 PC::PC(PinName tx, PinName rx, int baudrate) : Serial(tx, rx)
aungriah 0:a3b83d366423 5 {
aungriah 0:a3b83d366423 6 baud(baudrate);
aungriah 0:a3b83d366423 7 cls();
aungriah 0:a3b83d366423 8
aungriah 0:a3b83d366423 9 command[0] = '\0';
aungriah 0:a3b83d366423 10 command_char_count = 0;
aungriah 0:a3b83d366423 11 }
aungriah 0:a3b83d366423 12
aungriah 0:a3b83d366423 13
aungriah 0:a3b83d366423 14 void PC::cls()
aungriah 0:a3b83d366423 15 {
aungriah 0:a3b83d366423 16 printf("\x1B[2J");
aungriah 0:a3b83d366423 17 }
aungriah 0:a3b83d366423 18
aungriah 0:a3b83d366423 19
aungriah 0:a3b83d366423 20 void PC::locate(int Spalte, int Zeile)
aungriah 0:a3b83d366423 21 {
aungriah 0:a3b83d366423 22 printf("\x1B[%d;%dH", Zeile + 1, Spalte + 1);
aungriah 0:a3b83d366423 23 }
aungriah 0:a3b83d366423 24
aungriah 0:a3b83d366423 25 void PC::readcommand(void (*executer)(char*))
aungriah 0:a3b83d366423 26 {
aungriah 0:a3b83d366423 27
bberabi 1:346279def7ac 28
bberabi 1:346279def7ac 29 /*char input = getc(); // get the character from serial bus
aungriah 0:a3b83d366423 30 //printf("\x1B[1K");
aungriah 0:a3b83d366423 31 //printf("-");
bberabi 1:346279def7ac 32 if(input == 'r') { // if return was pressed, the command must be executed
aungriah 0:a3b83d366423 33 command[command_char_count] = '\0';
aungriah 0:a3b83d366423 34 executer(&command[0]);
aungriah 0:a3b83d366423 35 command_char_count = 0; // reset command
aungriah 0:a3b83d366423 36 command[command_char_count] = '\0';
aungriah 0:a3b83d366423 37 } else if (command_char_count < COMMAND_MAX_LENGHT) {
bberabi 1:346279def7ac 38 // printf("Debug Point 4");
aungriah 0:a3b83d366423 39 command[command_char_count] = input;
bberabi 1:346279def7ac 40 //printf(command);
aungriah 0:a3b83d366423 41 command_char_count++;
aungriah 0:a3b83d366423 42 }
bberabi 1:346279def7ac 43
aungriah 0:a3b83d366423 44 */
aungriah 0:a3b83d366423 45
aungriah 0:a3b83d366423 46
bberabi 1:346279def7ac 47
bberabi 1:346279def7ac 48
bberabi 1:346279def7ac 49 while (1)
aungriah 0:a3b83d366423 50 {
bberabi 1:346279def7ac 51
aungriah 0:a3b83d366423 52 if (readable())
aungriah 0:a3b83d366423 53 {
aungriah 0:a3b83d366423 54 scanf( "%s" , command );
aungriah 0:a3b83d366423 55 break;
aungriah 0:a3b83d366423 56 }
aungriah 0:a3b83d366423 57 }
aungriah 0:a3b83d366423 58
aungriah 0:a3b83d366423 59
aungriah 0:a3b83d366423 60
aungriah 0:a3b83d366423 61 executer(&command[0]);
bberabi 1:346279def7ac 62 command_char_count = 0; // reset command
bberabi 1:346279def7ac 63
bberabi 1:346279def7ac 64
bberabi 1:346279def7ac 65
aungriah 0:a3b83d366423 66
aungriah 0:a3b83d366423 67
aungriah 0:a3b83d366423 68 }