Full-Speed Simulator Meeting 28 Jan 2015 Overall Objectives: 1. Qnx Vm (Rob) 2. Synchronize (Rich) 3. Non blocking operation (Rich, Rob, Kent, Hans) 4. TRN Integration (Rich, Rob) 5. Testing and Validation (Rob) Specific Tasks and Discussion: * Improve the hand-drawn timing/data-flow diagram (Rob). * Change Navigation so that, when in simulation mode, rather than pending on the next 200 ms tick (Periodic Task), it pends on DynamicControl/Simulator finishing. Hopefully it will start ripping through. We won't yet have replaced clock_gettime with simulator time, but this will prove the concept. We should start to get an inkling of how fast it will go. (Rich, Rob). * Discuss system time calls, and how many. (Rich). * Branch the code, or start using GIT (Rich, Rob) * Virtual Box QNX VM on Windows 7 host. (Rob) * Kent to look at the code. (that would be Kent). Questions: *Check in event-callback version of Layered Control? -Answer: Start a branch. *Retain real-time switch? -Answer: Yes, if feasible. *Should the clock be a server? Meeting Notes: H: Rather than Navigation triggering on DynamicControl/Simulator finishing, have Navigation triggered from Supervisor. Then Supervisor can trigger Navigation at 5 Hz for real time operation, or when the simulator finishes for full-speed simulation. This has the advantage that the GNC code operates identically between simulation and real-time operation, but has the drawback of now changing the Supervisor code. H: Implement taskIF constructors inside the sim task object. This would eliminate the individual processes for each simulated sensor. H: Link the simulator into the GNC executable. This would result in the entire flight code and simulator running as a single process. Improvements not required for full-speed operation: H: Capture latencies (multirate) of various sensors. H: Separate the simulated sensor servers into the real server and a simulated driver. Next time: Rich, Rob: Start CVS branch. Rich, Rob: Investigate triggering Nav through Supervisor event call-back. Look at moving all into single GNC task. Rob: to get Virtual Box QNX VM running on desktop. Hans: (If time permits) example code of single GNC task with linking tricks.