diff --git a/src/control.h b/src/control.h index b7f780a..44edc4c 100644 --- a/src/control.h +++ b/src/control.h @@ -194,7 +194,7 @@ INLINE timestamp getcurts(trial *t) { struct timeval tv; gettimeofday(&tv, NULL); timestamp ts = (tv.tv_sec - t->started.tv_sec) * 1000 + (tv.tv_usec - t->started.tv_usec) / 1000; - printf("Timestamp: %u\n", ts); +// printf("Timestamp: %u\n", ts); return ts; } diff --git a/src/control_parser.c b/src/control_parser.c index 1e4e64b..cc326de 100644 --- a/src/control_parser.c +++ b/src/control_parser.c @@ -27,7 +27,7 @@ static timestamp extract_ts(context *ctx, char *fpc) { return atoi(ctx->tmp->str); } -#line 123 "control_parser.rl" +#line 125 "control_parser.rl" @@ -240,7 +240,7 @@ static const int control_parser_error = 0; static const int control_parser_en_main = 1; -#line 126 "control_parser.rl" +#line 128 "control_parser.rl" static int control_parser_has_error(context *ctx) { return ctx->cs == control_parser_error; @@ -257,7 +257,7 @@ void control_parser_new(trial *t) { { ( ctx->cs) = control_parser_start; } -#line 138 "control_parser.rl" +#line 140 "control_parser.rl" ctx->buffer = g_string_sized_new(0); ctx->tmp = g_string_sized_new(0); ctx->mark = -1; @@ -271,7 +271,7 @@ void control_parser_reset(trial *t) { { ( ctx->cs) = control_parser_start; } -#line 147 "control_parser.rl" +#line 149 "control_parser.rl" g_string_truncate(ctx->tmp, 0); ctx->mark = -1; ctx->pos = 0; @@ -388,6 +388,8 @@ _match: t->vehicle.accel = ctx->tm->vehicle.accel; t->vehicle.turn = ctx->tm->vehicle.turn; gettimeofday(&t->started, NULL); + } else { + fprintf(stderr, "time difference [ms]: %i\n", getcurts(t) - ctx->tm->ts); } t->last_ts = ctx->tm->ts; ctx->tm = NULL; @@ -395,7 +397,7 @@ _match: } break; case 4: -#line 48 "control_parser.rl" +#line 50 "control_parser.rl" { ctx->tm->ts = ctx->ts; ctx->tm->vehicle.x = ctx->x; @@ -410,115 +412,115 @@ _match: } break; case 5: -#line 65 "control_parser.rl" +#line 67 "control_parser.rl" { t->map.dx = extract_double(ctx, p); } break; case 6: -#line 66 "control_parser.rl" +#line 68 "control_parser.rl" { t->map.dy = extract_double(ctx, p); } break; case 7: -#line 67 "control_parser.rl" +#line 69 "control_parser.rl" { t->map.min_sensor = extract_double(ctx, p); } break; case 8: -#line 68 "control_parser.rl" +#line 70 "control_parser.rl" { t->map.max_sensor = extract_double(ctx, p); } break; case 9: -#line 69 "control_parser.rl" +#line 71 "control_parser.rl" { t->map.max_speed = extract_double(ctx, p); } break; case 10: -#line 70 "control_parser.rl" +#line 72 "control_parser.rl" { t->map.max_turn = extract_double(ctx, p); } break; case 11: -#line 71 "control_parser.rl" +#line 73 "control_parser.rl" { t->map.max_hard_turn = extract_double(ctx, p); } break; case 12: -#line 75 "control_parser.rl" +#line 77 "control_parser.rl" { ctx->x = extract_double(ctx, p); } break; case 13: -#line 76 "control_parser.rl" +#line 78 "control_parser.rl" { ctx->y = extract_double(ctx, p); } break; case 14: -#line 77 "control_parser.rl" +#line 79 "control_parser.rl" { ctx->r = extract_double(ctx, p); } break; case 15: -#line 78 "control_parser.rl" +#line 80 "control_parser.rl" { ctx->dir = extract_double(ctx, p); } break; case 16: -#line 79 "control_parser.rl" +#line 81 "control_parser.rl" { ctx->speed = extract_double(ctx, p); } break; case 17: -#line 81 "control_parser.rl" +#line 83 "control_parser.rl" { ctx->tm->vehicle.accel = ACCEL; } break; case 18: -#line 82 "control_parser.rl" +#line 84 "control_parser.rl" { ctx->tm->vehicle.accel = ROLL; } break; case 19: -#line 83 "control_parser.rl" +#line 85 "control_parser.rl" { ctx->tm->vehicle.accel = BREAK; } break; case 20: -#line 85 "control_parser.rl" +#line 87 "control_parser.rl" { ctx->tm->vehicle.turn = TURN_HARD_LEFT; } break; case 21: -#line 86 "control_parser.rl" +#line 88 "control_parser.rl" { ctx->tm->vehicle.turn = TURN_LEFT; } break; case 22: -#line 87 "control_parser.rl" +#line 89 "control_parser.rl" { ctx->tm->vehicle.turn = TURN_STRAIGHT; } break; case 23: -#line 88 "control_parser.rl" +#line 90 "control_parser.rl" { ctx->tm->vehicle.turn = TURN_RIGHT; } break; case 24: -#line 89 "control_parser.rl" +#line 91 "control_parser.rl" { ctx->tm->vehicle.turn = TURN_HARD_RIGHT; } break; case 25: -#line 91 "control_parser.rl" +#line 93 "control_parser.rl" { ctx->ts = extract_ts(ctx, p); } break; case 26: -#line 92 "control_parser.rl" +#line 94 "control_parser.rl" { printf("Score %u\n", extract_ts(ctx, p)); } break; case 27: -#line 94 "control_parser.rl" +#line 96 "control_parser.rl" { object o = { BOLDER, ctx->x, ctx->y, ctx->r, 0, 0 }; g_array_append_val(ctx->tm->objects, o); } break; case 28: -#line 98 "control_parser.rl" +#line 100 "control_parser.rl" { object o = { CRATER, ctx->x, ctx->y, ctx->r, 0, 0 }; g_array_append_val(ctx->tm->objects, o); } break; case 29: -#line 103 "control_parser.rl" +#line 105 "control_parser.rl" { object o = { MARTIAN, ctx->x, ctx->y, ctx->r, ctx->dir, ctx->speed }; g_array_append_val(ctx->tm->objects, o); } break; -#line 522 "control_parser.c" +#line 524 "control_parser.c" } } @@ -530,7 +532,7 @@ _again: _test_eof: {} _out: {} } -#line 170 "control_parser.rl" +#line 172 "control_parser.rl" ctx->pos = p - ctx->buffer->str; if (ctx->mark == -1) { diff --git a/src/control_parser.rl b/src/control_parser.rl index 221bd06..64d13f7 100644 --- a/src/control_parser.rl +++ b/src/control_parser.rl @@ -40,6 +40,8 @@ static timestamp extract_ts(context *ctx, char *fpc) { t->vehicle.accel = ctx->tm->vehicle.accel; t->vehicle.turn = ctx->tm->vehicle.turn; gettimeofday(&t->started, NULL); + } else { + fprintf(stderr, "time difference [ms]: %i\n", getcurts(t) - ctx->tm->ts); } t->last_ts = ctx->tm->ts; ctx->tm = NULL;