@@ -139,7 +139,14 @@ bring_viewer_to_front()
139139
140140function 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 )
336341end
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
347352end
348353
349- stop_ ()
354+ stop_ (; clear_display = false )
350355on (app. viewer. btn_PARKING. clicks) do _; parking (); end
351356on (app. viewer. btn_AUTO. clicks) do _; autopilot (); end
352357on (app. viewer. btn_STOP. clicks) do _; stop_ (); end
0 commit comments