Alejandro Ungria Hirte / GA-Test

Dependencies:   mbed-dev

Committer:
aungriah
Date:
Wed Dec 06 21:42:54 2017 +0000
Revision:
0:3333b6066adf
asfaf

Who changed what in which revision?

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