summaryrefslogtreecommitdiffstats
path: root/Kod/bilbana/yc4/display/scenes/draw_lap_graph.m
blob: 8c7a5d04a4bac1a25eb15021ec6c22ae13582d3c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
function [] = draw_lap_graph(car1_laptimes, car2_laptimes, ref_time)
dt = 0.2;  % delay for display

if isempty(car1_laptimes)
	car1_laptimes = car2_laptimes;
	car2_laptimes = [];
end


%% strip empty values
tmp = [];
for i = 1:length(car1_laptimes)
	if car1_laptimes(i) ~= 0
		tmp = [tmp car1_laptimes(i)];
	end
end
car1_laptimes = tmp;

tmp = [];
for i = 1:length(car2_laptimes)
	if car2_laptimes(i) ~= 0
		tmp = [tmp car2_laptimes(i)];
	end
end
car2_laptimes = tmp;

% laps = max(length(graphs.car1.lap_times), length(graphs.car2.lap_times));

pause(dt);
matlabclient(1, get_smallpackage(clear_display()));
pause(dt);

matlabclient(1, get_smallpackage(put_text(160, 8, 'C', 'Varvtider')))
pause(dt);

matlabclient(1, get_smallpackage([ ...
		key(0  , 216, 107, 240, 51, 61, 'C', 'Varv'), ...
		key(107, 216, 213, 240, 52, 62, 'C', 'Segment'), ...
		key(213, 216, 320, 240, 53, 63, 'C', 'Avsluta') ...
]));
pause(dt);

matlabclient(1, get_smallpackage([ ...
		draw_line(20, 24, 20, 144), ...   % y-axis
		put_text(9, 25, 'C', 's'), ...  % label y-axis
		continue_line(304, 144), ... % x-axis
		draw_line(16, 32, 20, 24), ...    % arrow on y, left part
		continue_line(24, 32), ...   % arrow on y, right part
		draw_line(304, 140, 304, 148) ... % line on x
]));
pause(dt);

y = 166;
margin_top = 6;
matlabclient(1, get_smallpackage([ ...
		draw_line(0, y, 320, y), ...
		put_text(53 , y + margin_top, 'C', 'target'), ...
		put_text(160, y + margin_top, 'C', 'mean'), ...
		put_text(266, y + margin_top, 'C', 'std') ...
]));
pause(dt);

line = 12;
matlabclient(1, get_smallpackage([ ...
		put_text(6  , y + 3 + margin_top + line*1, 'L', '1'), ...
		put_text(6  , y + 3 + margin_top + line*2, 'L', '2'), ...
		put_text(53 , y + 2 + margin_top + line*1, 'C', num2str(ref_time)), ...
		put_text(53 , y + 2 + margin_top + line*2, 'C', num2str(ref_time)), ...
		put_text(160, y + 2 + margin_top + line*1, 'C', num2str(mean(car1_laptimes), 1)), ...
		put_text(160, y + 2 + margin_top + line*2, 'C', num2str(mean(car2_laptimes), 1), ...
		put_text(266, y + 2 + margin_top + line*1, 'C', num2str(std(car1_laptimes), 2)), ...
		put_text(266, y + 2 + margin_top + line*2, 'C', num2str(std(car2_laptimes), 2)), ...
]));
pause(dt);

times = [1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16];
for i = 0:(length(times)-1)
x = 28 + i*10;
y = 144 - round(100 * (times(i+1) / max(times)));
matlabclient(1, get_smallpackage([ ...
			set_point_size(3, 3), ...
			point(x, y), ...
			set_point_size(1, 1), ...
			draw_line(x, 144-2,  x, 144+2) ...
]));
pause(0.15);
end

% matlabclient(1, get_smallpackage(save_display_to_clipboard()));
end