]> www.fi.muni.cz Git - slotcarman.git/blob - gui.pl
Start semaphore tweaks.
[slotcarman.git] / gui.pl
1 #!/usr/bin/perl -w
2
3 use strict;
4 use utf8;
5
6 use Gtk2 '-init';
7 use Glib qw(TRUE FALSE);
8
9 use SCX::GUI;
10 use SCX::Track;
11 use SCX::Reader;
12
13 my $no_reader = 0;
14
15 my $gui = SCX::GUI->new;
16 my $track = SCX::Track->new({ gui => $gui });
17
18 if (!$no_reader) {
19         my $reader = SCX::Reader->new({
20                 portname   => '/dev/ttyUSB0',
21                 logfile    => 'log',
22                 track      => $track,
23         });
24
25         Glib::IO->add_watch(fileno($reader->fh), 'in', \&scx_read, $reader);
26 }
27
28 $track->car(0)->set_model('F1 Ferrari');
29 $track->car(1)->set_model('F1 McLaren');
30 $track->car(2)->set_model('F1 Williams');
31 $track->car(3)->set_model('Citroen Xsara');
32 $track->car(4)->set_model('Citroen C4');
33 $track->car(5)->set_model('Ford Focus');
34
35 $track->car(0)->set_lap(13);
36 $track->car(1)->set_lap(11);
37 $track->car(2)->set_lap(10);
38 $track->car(3)->set_lap(undef);
39 $track->car(4)->set_lap(undef);
40 $track->car(5)->set_lap(undef);
41
42 $track->car(0)->set_laptime(9.12322);
43 $track->car(1)->set_laptime(15.313);
44 $track->car(2)->set_laptime(8.193);
45
46 $track->car(0)->set_driver('Ivi');
47 $track->car(1)->set_driver('Filípek');
48 $track->car(2)->set_driver('Táta');
49
50 $gui->show;
51
52 Gtk2->main();
53
54 exit 0;
55
56 sub quit {
57         Gtk2->main_quit;
58         return FALSE;
59 }
60
61 sub scx_read {
62         my ($event, $fh, $reader) = @_;
63
64         $reader->read();
65         return TRUE;
66 }
67