From b1ed48d84e04e8d5ae11b0e7138980844245e05c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gustav=20S=C3=B6rn=C3=A4s?= Date: Wed, 27 Nov 2019 21:32:12 +0100 Subject: =?UTF-8?q?Kv=C3=A4llsarbete?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Jag är hemskt ledsen över hur stor commiten blev. --- .../yc4/display/scenes/display_post_race_graphs.m | 54 ++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 Kod/bilbana/yc4/display/scenes/display_post_race_graphs.m (limited to 'Kod/bilbana/yc4/display/scenes/display_post_race_graphs.m') diff --git a/Kod/bilbana/yc4/display/scenes/display_post_race_graphs.m b/Kod/bilbana/yc4/display/scenes/display_post_race_graphs.m new file mode 100644 index 0000000..a9da572 --- /dev/null +++ b/Kod/bilbana/yc4/display/scenes/display_post_race_graphs.m @@ -0,0 +1,54 @@ +function [] = display_post_race_graphs(seg_times1, seg_times2, lap_times1, lap_times2, ref_time) +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 +last_check = tic; +done = false; + +while 1 + pause(0.1); + if toc(last_check) > 0.4 + 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) + data = display.shm_interp.data(i); + if data.data == 51 + draw_lap_graph(lap_times1, lap_times2, ref_time, false); + elseif data.data == 52 + draw_segment_bars(seg_times1, seg_times2); + elseif data.data == 53 + pause(0.2); + matlabclient(1, get_smallpackage(clear_display())); + done = true; + elseif data.data == 70 + draw_lap_graph(lap_times1, lap_times2, ref_time, 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 +end -- cgit v1.2.1