diff options
Diffstat (limited to 'Kod/bilbana/yc4/do_boot.m')
| -rw-r--r-- | Kod/bilbana/yc4/do_boot.m | 82 |
1 files changed, 4 insertions, 78 deletions
diff --git a/Kod/bilbana/yc4/do_boot.m b/Kod/bilbana/yc4/do_boot.m index 645e100..ffa7878 100644 --- a/Kod/bilbana/yc4/do_boot.m +++ b/Kod/bilbana/yc4/do_boot.m @@ -1,88 +1,14 @@ -function [car] = do_boot(car, boot_time) +function [car, boot] = do_boot(car, boot) %BOOT Summary of this function goes here % Detailed explanation goes here if car.running == true - [car.new_lap, car.new_check_point, car.time] = get_car_position(car.num); - %% CHECK POINT - if car.new_check_point == true - if car.new_lap == false % choose_position krachar vid nytt varv (seg 10) - if car.lap ~= 0 - car.seg_times(car.lap, car.segment) = toc(car.seg_tic); - car.seg_constant_list(car.lap, car.segment) = car.seg_constant; - end - car.segment = car.segment + 1; - car.seg_tic = tic; - if car.lap > 2 % S�kerhetsmarginal (B�r vara 1?) - disp(car) - [new_position, seg_plus] = ... - choose_position(car.position, car.segment, car.num, car.pos_at); - if seg_plus ~= 0 && car.segment == 2 - disp('Hoppar �ver missad givare 1/2'); - else - car.position = new_position; - car.segment = car.segment + seg_plus; - end - if seg_plus ~= 0 - car.seg_times(car.lap, car.segment - seg_plus - 1) = 0; - car.seg_constant_list(car.lap, car.segment - seg_plus - 1) = 0; - disp(car.seg_times(car.lap, :)) - disp(seg_plus) - end - %car.miss_time = uint64(0); - else - car.position = car.pos_at(car.segment); - %car.miss_time = uint64(0); - end - end - end - %% NEW LAP - if car.new_lap == true - car.lap_constants = gov_set(car.constant); - car.new_lap = false; %TODO remove - beep; - if car.lap == 0 - % dont save time for first lap - car.segment = 1; - car.lap = car.lap + 1; - car.seg_tic = tic; - car.lap_tic = tic; - else - % beep; - % Spara inte seg_time om missad givare - if car.segment == 9 - car.seg_times(car.lap, car.segment) = toc(car.seg_tic); - car.seg_constant_list(car.lap, car.segment) = car.seg_constant; - end - 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; - car.lap = car.lap + 1; - end - end - %% CALCULATE - if car.running == true && car.automatic == true - car.v = get_new_v(car.position, car.map); - car.seg_constant = get_seg_constant(car.position, car.lap_constants, car.num, car.pos_at); - car.u = get_new_u(car.v, car.seg_constant); - end %% BEFORE FIRST LAP if car.lap == 0 - t = toc(boot_time); + t = toc(boot.time); if t > 1 car.constant = car.constant + 0.05; - boot_time = tic; + disp(car.constant) + boot.time = tic; end end end |
