summaryrefslogtreecommitdiffstats
path: root/Kod/scripts/display_post_race_graphs.m
blob: 77336cee268d40bd3ab2b4f53a09b41ca9408b8a (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
clear all;

addpath display/ClientServerApp/Release
cd display/ClientServerApp/Release
!startServer
cd ../../..

pause(1);

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(0.2);

%% CHECK DISPLAY BUTTONS
display.last_check = tic;
done = false;

laptime_1 = [12 12.1 12.2 12.3 12.4 12.5 12.6 12.7 12.8 12.9 13];
laptime_2 = [11 11.2 11.4 11.6 11.8 12 12.5 13 13.5 14 14.2 14.6 14.8 15];

while 1
	pause(0.1);
	if toc(display.last_check) > 0.4
		display.last_check = tic;

		% read internal mem from last send
		[display.out, display.shm] = matlabclient(2);
		[display.shm_interp.ack, display.shm_interp.start_code, display.shm_interp.data] = get_response(display.shm);

		% request internal mem
		matlabclient(1, hex2dec(['12'; '01'; '53'; '66']));
		if isempty(display.shm_interp.data)
			continue;
		end
		update_ref_time = false;
		for i = 1:length(display.shm_interp.data)
			disp(num2str(length(display.shm_interp.data)))
			data = display.shm_interp.data(i);
			if data.data == 51
				draw_lap_graph(laptime_1, laptime_2, 13, false);
			elseif data.data == 52
				draw_segment_bars([1 2 3 4 5 6 7 8 9], [9 8 7 6 5 4 3 2 1]);
			elseif data.data == 53
				pause(0.2);
				matlabclient(1, get_smallpackage(clear_display()));
				pause(0.2);
				done = true;
			elseif data.data == 70
				draw_lap_graph(laptime_1, laptime_2, 13, true);
			end
		end
		if done == true
			break
		end
		if update_ref_time == true
			pause(0.4);
			matlabclient(1, get_smallpackage(put_text(160, 120, 'C', num2str(ref_time, '%.1f'))));
		end
		display.last_check = tic;
	end
end

matlabclient(3);