Huseyin Berkay Berabi / GA-Final

Dependencies:   mbed-dev

Fork of GA-Berkay_Alex by Alejandro Ungria Hirte

Committer:
aungriah
Date:
Wed Dec 06 21:35:45 2017 +0000
Revision:
0:a3b83d366423
Child:
1:346279def7ac
test

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 0:a3b83d366423 28 /*
aungriah 0:a3b83d366423 29 char input = getc(); // get the character from serial bus
aungriah 0:a3b83d366423 30 //printf("\x1B[1K");
aungriah 0:a3b83d366423 31 //printf("-");
aungriah 0:a3b83d366423 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 printf("Debug Point 5");
aungriah 0:a3b83d366423 36 //printf("1");
aungriah 0:a3b83d366423 37 command_char_count = 0; // reset command
aungriah 0:a3b83d366423 38 command[command_char_count] = '\0';
aungriah 0:a3b83d366423 39 // printf("2");
aungriah 0:a3b83d366423 40 } else if (command_char_count < COMMAND_MAX_LENGHT) {
aungriah 0:a3b83d366423 41 printf("Debug Point 4");
aungriah 0:a3b83d366423 42 command[command_char_count] = input;
aungriah 0:a3b83d366423 43 command_char_count++;
aungriah 0:a3b83d366423 44 }
aungriah 0:a3b83d366423 45 */
aungriah 0:a3b83d366423 46
aungriah 0:a3b83d366423 47
aungriah 0:a3b83d366423 48
aungriah 0:a3b83d366423 49 while (1)
aungriah 0:a3b83d366423 50 {
aungriah 0:a3b83d366423 51 if (readable())
aungriah 0:a3b83d366423 52 {
aungriah 0:a3b83d366423 53 scanf( "%s" , command );
aungriah 0:a3b83d366423 54 break;
aungriah 0:a3b83d366423 55 }
aungriah 0:a3b83d366423 56 }
aungriah 0:a3b83d366423 57
aungriah 0:a3b83d366423 58
aungriah 0:a3b83d366423 59
aungriah 0:a3b83d366423 60 executer(&command[0]);
aungriah 0:a3b83d366423 61
aungriah 0:a3b83d366423 62
aungriah 0:a3b83d366423 63 }