Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
PC/PC.cpp@0:3333b6066adf, 2017-12-06 (annotated)
- Committer:
- aungriah
- Date:
- Wed Dec 06 21:42:54 2017 +0000
- Revision:
- 0:3333b6066adf
asfaf
Who changed what in which revision?
User | Revision | Line number | New 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 | } |