Skip to content

Commit a85e3ca

Browse files
committed
Fix visual glitch during start
1 parent c41c07b commit a85e3ca

1 file changed

Lines changed: 15 additions & 10 deletions

File tree

examples/autopilot.jl

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,14 @@ bring_viewer_to_front()
139139

140140
function simulate(integrator, stopped=true)
141141
start_time_ns = time_ns()
142+
sys_state = SysState(app.kps4::KPS4)
143+
sys_state.e_mech = 0
144+
sys_state.sys_state = Int16(app.ssc.fpp._state)
145+
e_mech = 0.0
146+
last_vel = [0.0, 0.0, 0.0]
147+
on_new_systate(app.ssc::SystemStateControl, sys_state)
142148
clear_viewer(app.viewer::Viewer3D)
149+
KiteViewers.update_system(app.viewer::Viewer3D, sys_state; scale = 0.04/1.1, kite_scale=app.set.kite_scale)
143150
KiteViewers.running[] = ! stopped
144151
app.viewer.stop = stopped
145152
if ! stopped
@@ -154,13 +161,6 @@ function simulate(integrator, stopped=true)
154161
GC.enable(false)
155162
end
156163
max_time = 0
157-
sys_state = SysState(app.kps4::KPS4)
158-
sys_state.e_mech = 0
159-
sys_state.sys_state = Int16(app.ssc.fpp._state)
160-
e_mech = 0.0
161-
last_vel = [0.0, 0.0, 0.0]
162-
on_new_systate(app.ssc::SystemStateControl, sys_state)
163-
KiteViewers.update_system(app.viewer::Viewer3D, sys_state; scale = 0.04/1.1, kite_scale=app.set.kite_scale)
164164
last_yaw = 0.0
165165
last_yaw_rate = 0.0
166166
while app.initialized
@@ -304,6 +304,11 @@ function play(stopped=false)
304304
KiteViewers.plot_file[]=DEFAULT_LOG
305305
on_parking(app.ssc::SystemStateControl)
306306
integrator = KiteModels.init!(app.kps4::KPS4; delta=app.set.delta, stiffness_factor=app.set.stiffness_factor)
307+
if !isnothing(app.viewer)
308+
_ss = SysState(app.kps4::KPS4)
309+
_ss.sys_state = Int16(app.ssc.fpp._state)
310+
KiteViewers.update_system(app.viewer::Viewer3D, _ss; scale = 0.04/1.1, kite_scale=app.set.kite_scale)
311+
end
307312
if app.run == 0; toc(); end
308313
app.run += 1
309314
simulate(integrator, stopped)
@@ -335,18 +340,18 @@ function autopilot()
335340
on_autopilot(app.ssc::SystemStateControl)
336341
end
337342

338-
function stop_()
343+
function stop_(; clear_display=true)
339344
if app.set.log_level > 0
340345
println("Stopping...")
341346
end
342347
on_stop(app.ssc::SystemStateControl)
343348
clear!(app.kps4::KPS4)
344-
if ! isnothing(app.viewer)
349+
if clear_display && ! isnothing(app.viewer)
345350
clear_viewer(app.viewer::Viewer3D)
346351
end
347352
end
348353

349-
stop_()
354+
stop_(; clear_display=false)
350355
on(app.viewer.btn_PARKING.clicks) do _; parking(); end
351356
on(app.viewer.btn_AUTO.clicks) do _; autopilot(); end
352357
on(app.viewer.btn_STOP.clicks) do _; stop_(); end

0 commit comments

Comments
 (0)