From aa20fb4b9545fa6e4bef944c9deb10d1f3fbe38d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gustav=20S=C3=B6rn=C3=A4s?= Date: Fri, 15 Nov 2019 17:32:20 +0100 Subject: Exit if to few segments in list after first lap --- Kod/bilbana/yc4/do_car.m | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'Kod/bilbana') diff --git a/Kod/bilbana/yc4/do_car.m b/Kod/bilbana/yc4/do_car.m index ed8de89..8aa87db 100644 --- a/Kod/bilbana/yc4/do_car.m +++ b/Kod/bilbana/yc4/do_car.m @@ -81,7 +81,6 @@ if car.running == true end end - %% CHECK POINT if car.new_check_point == true if car.new_lap == false % choose_position krachar vid nytt varv (seg 10) @@ -119,7 +118,15 @@ if car.running == true car.seg_tic = tic; car.lap_tic = tic; else - % beep; + if car.lap == 1 + % TODO test + if size(car.seg_times, 1) < 9 + disp('FEL: För få segment!!') + car.stopped = true + other_car.stopped = true + return + end + end car.seg_times(car.lap, car.segment) = toc(car.seg_tic); car.seg_tic = tic; car.lap_times(car.lap) = toc(car.lap_tic); -- cgit v1.2.1 From c0c94aa155dd626343beb883f5223d7c59202ff0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gustav=20S=C3=B6rn=C3=A4s?= Date: Sat, 16 Nov 2019 12:30:59 +0100 Subject: Correct dimensions and move check --- Kod/bilbana/yc4/do_car.m | 16 +++++++--------- Kod/bilbana/yc4/main.m | 2 +- 2 files changed, 8 insertions(+), 10 deletions(-) (limited to 'Kod/bilbana') diff --git a/Kod/bilbana/yc4/do_car.m b/Kod/bilbana/yc4/do_car.m index 8aa87db..9120526 100644 --- a/Kod/bilbana/yc4/do_car.m +++ b/Kod/bilbana/yc4/do_car.m @@ -118,21 +118,19 @@ if car.running == true car.seg_tic = tic; car.lap_tic = tic; else - if car.lap == 1 - % TODO test - if size(car.seg_times, 1) < 9 - disp('FEL: För få segment!!') - car.stopped = true - other_car.stopped = true - return - end - end car.seg_times(car.lap, car.segment) = toc(car.seg_tic); car.seg_tic = tic; car.lap_times(car.lap) = toc(car.lap_tic); car.lap_tic = tic; car.position = 0; + if car.lap == 1 && size(car.seg_times, 2) < 9 + disp('FEL: För få segment!!') + car.stopped = true; + other_car.stopped = true; + return + end + display_data = [display_data, put_text(100, 16 + (16 * car.num), 'L', strjoin({num2str(car.lap), get_time_as_string(round(car.lap_times(car.lap) * 1000))}, ' '))]; car.segment = 1; diff --git a/Kod/bilbana/yc4/main.m b/Kod/bilbana/yc4/main.m index d15cace..74badfd 100644 --- a/Kod/bilbana/yc4/main.m +++ b/Kod/bilbana/yc4/main.m @@ -119,7 +119,7 @@ while 1 [car1, car1.stop, display.data] = do_car(car1, t, display.data); [car2, car2.stop, display.data] = do_car(car2, t, display.data); - if car1.stop == true + if car1.stop == true disp('stopped by car 1'); break; end -- cgit v1.2.1 From 0533b1e5ed6af78f603e5ceeca41cece51806b24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gustav=20S=C3=B6rn=C3=A4s?= Date: Sat, 16 Nov 2019 12:31:40 +0100 Subject: fix indents --- Kod/bilbana/yc4/do_car.m | 56 ++++++++++++++++++++++++------------------------ Kod/bilbana/yc4/main.m | 2 +- 2 files changed, 29 insertions(+), 29 deletions(-) (limited to 'Kod/bilbana') diff --git a/Kod/bilbana/yc4/do_car.m b/Kod/bilbana/yc4/do_car.m index 9120526..6c0ade1 100644 --- a/Kod/bilbana/yc4/do_car.m +++ b/Kod/bilbana/yc4/do_car.m @@ -3,23 +3,23 @@ function [car, stop, display_data] = do_car(car, t, display_data) %{ Input/Output: car - En struct med data för en viss bil - car.num - Vilken bil det är (1 eller 2) - car.running - Om bilen körs eller inte - car.automatic - Om bilen körs automatiskt eller inte - car.segment - Bilens nuvarande segment - car.lap - Bilens nuvarande varv - car.lap_times - Bilens sparade varvtider (1 x n matris) - car.seg_times - Bilens sparade segmentstier (n x m matris) - car.position - Bilens nuvarande placering på banan i meter från - start/mål - car.seg_len - Banans längd från start till givarna (1 x 9 matris) - car.map - Tabell med hastighetskoefficienter för alla positioner (.mat - fil) - car.miss_probability - Sannorlikheten för artificiellt introducerade - missade givare +car.num - Vilken bil det är (1 eller 2) +car.running - Om bilen körs eller inte +car.automatic - Om bilen körs automatiskt eller inte +car.segment - Bilens nuvarande segment +car.lap - Bilens nuvarande varv +car.lap_times - Bilens sparade varvtider (1 x n matris) +car.seg_times - Bilens sparade segmentstier (n x m matris) +car.position - Bilens nuvarande placering på banan i meter från +start/mål +car.seg_len - Banans längd från start till givarna (1 x 9 matris) +car.map - Tabell med hastighetskoefficienter för alla positioner (.mat +fil) +car.miss_probability - Sannorlikheten för artificiellt introducerade +missade givare t - Längden (s) på nuvarande programcykel display_data - Buffer med den data som ska skickas till displayen vid nästa - anrop +anrop stop - Huruvida koden ska stoppas eller inte %} @@ -62,10 +62,10 @@ if car.running == true car.position = get_position(aprox_v, car.position, t); if detect_missed( car.position, car.segment, car.num) disp('Miss?'); - + %disp(toc(car.miss_time)); %if car.miss_time == 0 - % car.miss_time = tic; + % car.miss_time = tic; %end end end @@ -73,14 +73,14 @@ if car.running == true if car.stopping == true % CHECK IF CAR IS AT THE END OF TRACK if car.position > (car.map(80, 1) / 100) - 0.8 % 80cm - disp(car.position) - disp((car.map(80, 1) / 100) - 300) + disp(car.position) + disp((car.map(80, 1) / 100) - 300) set_car_speed(car.num, 0); car.stopped = true; return end end - + %% CHECK POINT if car.new_check_point == true if car.new_lap == false % choose_position krachar vid nytt varv (seg 10) @@ -92,7 +92,7 @@ if car.running == true if car.lap > 2 % S�kerhetsmarginal (B�r vara 1?) disp(car); [new_position, seg_plus] = ... - choose_position(car.position, car.segment, car.num); + choose_position(car.position, car.segment, car.num); if seg_plus ~= 0 && car.segment == 1 disp('Hoppar �ver missad givare 1/2'); else @@ -124,13 +124,13 @@ if car.running == true car.lap_tic = tic; car.position = 0; - if car.lap == 1 && size(car.seg_times, 2) < 9 - disp('FEL: För få segment!!') - car.stopped = true; - other_car.stopped = true; - return - end - + if car.lap == 1 && size(car.seg_times, 2) < 9 + disp('FEL: För få segment!!') + car.stopped = true; + other_car.stopped = true; + return + end + display_data = [display_data, put_text(100, 16 + (16 * car.num), 'L', strjoin({num2str(car.lap), get_time_as_string(round(car.lap_times(car.lap) * 1000))}, ' '))]; car.segment = 1; diff --git a/Kod/bilbana/yc4/main.m b/Kod/bilbana/yc4/main.m index 74badfd..d15cace 100644 --- a/Kod/bilbana/yc4/main.m +++ b/Kod/bilbana/yc4/main.m @@ -119,7 +119,7 @@ while 1 [car1, car1.stop, display.data] = do_car(car1, t, display.data); [car2, car2.stop, display.data] = do_car(car2, t, display.data); - if car1.stop == true + if car1.stop == true disp('stopped by car 1'); break; end -- cgit v1.2.1