Lightweight FlyBed1, structure based on KK-Board Firmware First this one should work, then I can get more complex FlyBed1 working :)

Dependencies:   mbed MODI2C

PC/PC.cpp

Committer:
maetugr
Date:
2015-11-19
Revision:
3:9cde4e9740fc
Parent:
0:d51bf879e9df

File content as of revision 3:9cde4e9740fc:

#include "PC.h"
#include "mbed.h"

PC::PC(PinName tx, PinName rx, int baudrate) : Serial(tx, rx) 
{
    baud(baudrate);
    cls();
    
    command[0] = '\0';
    command_char_count = 0;
}


void PC::cls() 
{
    printf("\x1B[2J");
}


void PC::locate(int Spalte, int Zeile) 
{
    printf("\x1B[%d;%dH", Zeile + 1, Spalte + 1);
}

void PC::readcommand(void (*executer)(char*))
{
    char input = getc();             // get the character from serial bus
    if(input == '\r') {                 // if return was pressed, the command must be executed
        command[command_char_count] = '\0';
        executer(&command[0]);
        
        command_char_count = 0;                 // reset command
        command[command_char_count] = '\0';
    } else if (command_char_count < COMMAND_MAX_LENGHT) {
        command[command_char_count] = input;
        command_char_count++;
    }
}