lots and lots of bugfixes after running on reals hardware for the first time

This commit is contained in:
Simen Svale Skogsrud
2009-02-03 09:56:45 +01:00
parent 9799955555
commit 50a9f78088
19 changed files with 827 additions and 368 deletions

View File

@@ -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;
}
}
}