IVERT Application GUI Controls
Note:  the app to allow the PTs to modify environments is not included in the COMP523 Project.
Note:  KB means the user can type it in and UI means there is a slider/checkbox/menu or some widget like that to set the value.  Either way the GUI app is the thing that sets it.
Single Entry OR
Category Source Sink Continuous Read? Data type NOTES
Meta Data
Patient Name KB none SE string This doesn't need to be sent to the other apps.  It just gets saved by the GUI app on the local machine when you hit the "save current values to file" button.
Date and Time Session Starts KB none integers "
Patient Height (or eyeball height?) KB none SE float "
Parietic Side UI none SE bool "; choices will be Left or Right
Other patient info (brace? Cane?) UI none SE text "; probably OK for this to be a text box with a limited number of characters  128? 256?
Set "Save To File" filename KB "save to file" SE text
VE SetUp
Select Environment File KB VE app SE string (we may want a way of listing all available models and choosing one from a dropdown list)
Write  name of environment file to ??? SetUp App ??? SE tell the VE app what environment to load
Eye Height KB VE app SE float
TM Control
Current belt speed (left and right) Control App Screen Cont floats
Current virtual locomotion speed Control App Screen Cont float Related to but not the same as the speed of the belts (unless path is completely straight)
Current curvature Control App Screen Cont float
Max Speed KB and UI Control App SE float
Curvature Multiplier KB and UI Control App SE float
Optical Flow Multiplier KB and UI Control App SE, resetable entries float
User Speed Control ON/OFF KB and UI Control App SE, resetable entries bool
Curvature ON/OFF KB and UI Control App SE, resetable entries bool
Curvature control method UI Control App integer (0 = force, 1 = stance time, 2 = step length, etc…)
Kalman filter parameters KB and UI Control App SE, resetable entries floats Eventually these will be hidden from the physical therapist (they don't need to bet set on a per-user basis), but for now we should make them accessible for tweaking and debugging.
Kalman estimated error Cont floats Very useful for debugging, but eventually we will hide these from the physical therapist.
Session Control
User is walking Control App GUI bool This reads as "true" whenever locomotion is happening.  It doesn't need to be printed, but the GUI app needs to know about it in order to decide whether or not the session timer should be running.
Total elapsed Walking time - Screen float Computed within the GUI app (incremented whenever the "user is walking" flag is true)
Elapsed Walking this mini-session (lap?) - Screen float Computed within the GUI app (incremented whenever the "user is walking" flag is true)
Begin next mini-session UI - Not sent across network.  This is just a button within the GUI app so that it knows to reset the "Elapsed walking this mini-session" timer.
Elapsed distance Control App GUI
Number strides Control App GUI
Logs
Log name KB Control App string
enable/disable logging UI Control App bool The Control App handles the actual logging
Other
Save to file (saves all GUI values)
Load values from file (sets all GUI values)
OTHER NOTES
Changes at run-time to the parameters such as optic flow multiplier, curvature gain, and kalman filter params, etc, can probably be logged by the Control App in the form of VRPN logs.  So the GUI app designers don't have to worry about doing this.  It will be better this way because then the timestamps associated with parameter tuning will correspond to the VRPN timestamps in the force logs.