lots and lots of bugfixes after running on reals hardware for the first time
This commit is contained in:
@@ -33,6 +33,7 @@ uint8_t line_counter;
|
||||
|
||||
void prompt() {
|
||||
printString(PROMPT);
|
||||
line_counter = 0;
|
||||
}
|
||||
|
||||
void print_result() {
|
||||
@@ -42,7 +43,7 @@ void print_result() {
|
||||
uint32_t line_number;
|
||||
int i; // loop variable
|
||||
gc_get_status(position, &status_code, &inches_mode, &line_number);
|
||||
printString("[ ");
|
||||
printString("\r\n[ ");
|
||||
for(i=X_AXIS; i<=Z_AXIS; i++) {
|
||||
printInteger(trunc(position[i]*100));
|
||||
printByte(' ');
|
||||
@@ -52,11 +53,12 @@ void print_result() {
|
||||
printInteger(line_number);
|
||||
printByte(':');
|
||||
switch(status_code) {
|
||||
case GCSTATUS_OK: printString("0 OK\n"); break;
|
||||
case GCSTATUS_BAD_NUMBER_FORMAT: printString("1 Bad number format\n");
|
||||
case GCSTATUS_EXPECTED_COMMAND_LETTER: printString("2 Expected command letter\n"); break;
|
||||
case GCSTATUS_UNSUPPORTED_STATEMENT: printString("3 Unsupported statement\n"); break;
|
||||
case GCSTATUS_MOTION_CONTROL_ERROR: printString("4 Motion control error\n"); break;
|
||||
case GCSTATUS_OK: printString("0 OK\r\n"); break;
|
||||
case GCSTATUS_BAD_NUMBER_FORMAT: printString("1 Bad number format\r\n"); break;
|
||||
case GCSTATUS_EXPECTED_COMMAND_LETTER: printString("2 Expected command letter\r\n"); break;
|
||||
case GCSTATUS_UNSUPPORTED_STATEMENT: printString("3 Unsupported statement\r\n"); break;
|
||||
case GCSTATUS_MOTION_CONTROL_ERROR: printString("4 Motion control error\r\n"); break;
|
||||
case GCSTATUS_FLOATING_POINT_ERROR: printString("5 Floating point error\r\n"); break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -64,9 +66,9 @@ void sp_init()
|
||||
{
|
||||
beginSerial(BAUD_RATE);
|
||||
|
||||
printString("Grbl ");
|
||||
printString("\r\nGrbl ");
|
||||
printString(VERSION);
|
||||
printByte('\n');
|
||||
printByte('\r');
|
||||
prompt();
|
||||
}
|
||||
|
||||
@@ -75,14 +77,20 @@ void sp_process()
|
||||
char c;
|
||||
while((c = serialRead()) != -1)
|
||||
{
|
||||
if(c == '\n') {
|
||||
//printByte(c); // Echo
|
||||
if(c == '\r') {
|
||||
line[line_counter] = 0;
|
||||
//printByte(EXECUTION_MARKER);
|
||||
gc_execute_line(line);
|
||||
line_counter = 0;
|
||||
print_result();
|
||||
prompt();
|
||||
} else if (c == ' ' || c == '\t') {
|
||||
// Throw away whitepace
|
||||
} else if (c >= 'a' && c <= 'z') {
|
||||
line[line_counter++] = c-'a'+'A';
|
||||
} else {
|
||||
line[line_counter] = c;
|
||||
line[line_counter++] = c;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user