X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=gui.pl;h=7cfe6085f24085b14aa7fdf8c1cfb32927d45423;hb=3b3c72e17a541d14f063c4c4f9093f42b271ff08;hp=6d3295ee0fa8dcecf48960206d8b38dfdfb74c15;hpb=041b40ba9d04693394c1472224cbb4285a0280c3;p=slotcarman.git diff --git a/gui.pl b/gui.pl index 6d3295e..7cfe608 100755 --- a/gui.pl +++ b/gui.pl @@ -9,19 +9,35 @@ use Glib qw(TRUE FALSE); use SCX::GUI; use SCX::Track; use SCX::Reader; +use SCX::RaceParser; -my $gui = SCX::GUI->new({ img_height => 80 }); +my $gui = SCX::GUI->new({ img_height => 120 }); my $track = SCX::Track->new({ gui => $gui }); -my $reader; -eval { - $reader = SCX::Reader->new({ - portname => '/dev/ttyUSB0', - logfile => 'log', - track => $track, +my $logfile = 'log'; +my $tty = '/dev/ttyUSB0'; + +if (defined $ARGV[0] && $ARGV[0] eq '-') { + $logfile = undef; + $tty = '-'; +} + +my $parser = SCX::RaceParser->new({ + track => $track, + logfile => $logfile, +}); + +my $reader = eval { + SCX::Reader->new({ + filename => $tty, + parser => $parser, }); }; +if ($@) { + print STDERR "Demo mode only: $@"; +} + $track->car(0)->set_model('F1 Ferrari'); $track->car(1)->set_model('F1 McLaren'); $track->car(2)->set_model('F1 Williams'); @@ -46,7 +62,12 @@ if ($reader) { $track->{race_running_since} = $now; $track->{race_running} = 1; - $track->car(0)->finish_line($now + 2.5, 1); + $track->finish_line($now + 0.5, 1, 2); + $track->finish_line($now + 0.7, 1, 1); + $track->finish_line($now + 4.9, 1, 1); + $track->finish_line($now + 5.3, 1, 2); + $track->finish_line($now + 7.2, 1, 1); + $track->finish_line($now + 8.1, 0, 2); # $track->car(0)->set_lap(13); # $track->car(1)->set_lap(11); # $track->car(2)->set_lap(10); @@ -54,16 +75,16 @@ if ($reader) { # $track->car(4)->set_lap(undef); # $track->car(5)->set_lap(undef); -# $track->car(0)->set_laptime(9.12322); -# $track->car(1)->set_laptime(15.313); -# $track->car(2)->set_laptime(5.989); + $track->car(0)->set_laptime(9.12322); + $track->car(1)->set_laptime(15.313); + $track->car(2)->set_laptime(5.989); $track->car(0)->set_fuel(6); $track->car(1)->set_fuel(2); $track->car(2)->set_fuel(8); $track->car(0)->set_throttle(0); - $track->car(1)->set_throttle(8); + $track->car(1)->set_throttle(8, 1); $track->car(2)->set_throttle(12); }