Huseyin Berkay Berabi / GA-Final

Dependencies:   mbed-dev

Fork of GA-Berkay_Alex by Alejandro Ungria Hirte

Committer:
aungriah
Date:
Wed Feb 28 16:10:21 2018 +0000
Revision:
3:8bee1711d186
Parent:
1:346279def7ac
Child:
4:120ff05a7c27
ILBE

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
aungriah 3:8bee1711d186 28 //printf("Reads");
aungriah 3:8bee1711d186 29 //while(1){
aungriah 3:8bee1711d186 30 char input = getc();
aungriah 3:8bee1711d186 31 //printf("%c", input); // get the character from serial bus
aungriah 0:a3b83d366423 32 //printf("\x1B[1K");
aungriah 0:a3b83d366423 33 //printf("-");
aungriah 3:8bee1711d186 34
aungriah 3:8bee1711d186 35 if(input == '\r') {
aungriah 3:8bee1711d186 36 // if return was pressed, the command must be executed
aungriah 3:8bee1711d186 37 this->command[command_char_count] = '\0';
aungriah 0:a3b83d366423 38 executer(&command[0]);
aungriah 3:8bee1711d186 39 this->command_char_count = 0; // reset command
aungriah 3:8bee1711d186 40 this->command[command_char_count] = '\0';
aungriah 3:8bee1711d186 41 // break;
aungriah 0:a3b83d366423 42 } else if (command_char_count < COMMAND_MAX_LENGHT) {
bberabi 1:346279def7ac 43 // printf("Debug Point 4");
aungriah 3:8bee1711d186 44 this->command[command_char_count] = input;
bberabi 1:346279def7ac 45 //printf(command);
aungriah 3:8bee1711d186 46 this->command_char_count++;
aungriah 3:8bee1711d186 47
aungriah 0:a3b83d366423 48 }
aungriah 3:8bee1711d186 49 //}
bberabi 1:346279def7ac 50
aungriah 0:a3b83d366423 51
aungriah 0:a3b83d366423 52
bberabi 1:346279def7ac 53
bberabi 1:346279def7ac 54
aungriah 3:8bee1711d186 55 /* while (1)
aungriah 0:a3b83d366423 56 {
bberabi 1:346279def7ac 57
aungriah 0:a3b83d366423 58 if (readable())
aungriah 0:a3b83d366423 59 {
aungriah 0:a3b83d366423 60 scanf( "%s" , command );
aungriah 0:a3b83d366423 61 break;
aungriah 0:a3b83d366423 62 }
aungriah 0:a3b83d366423 63 }
aungriah 0:a3b83d366423 64
aungriah 0:a3b83d366423 65
aungriah 0:a3b83d366423 66
aungriah 0:a3b83d366423 67 executer(&command[0]);
bberabi 1:346279def7ac 68 command_char_count = 0; // reset command
bberabi 1:346279def7ac 69
aungriah 3:8bee1711d186 70 */
bberabi 1:346279def7ac 71
aungriah 0:a3b83d366423 72
aungriah 0:a3b83d366423 73
aungriah 0:a3b83d366423 74 }