@startuml Information_Popup participant TD as TD participant SW as SW participant UI as UI actor USER as US 'Possible actions and interaction types ' External on CANBus ' TD -> SW: MSG: Message ' SW -> TD: MSG: Message ' Internal to the application ' XX -> YY: CMD: Command ' XX -> XX: ACT: Action ' External on OS/FS ' SW -> Script: ACT: Command ' Script -> OS: CMD: Command ' Script -> SW: MSG: Message ' OS -> Script: MSG: Message ' US -> UI: User actions are: ' ASK: Display a ' ENT: User enters a value or string ' TCH: User touches a button (RadioButton, CheckBox, ...) ' SCL: User scrolls a flip-able area == Navigate to popup == US -> UI: TCH: Press information headerbar icon button UI -> UI: ACT: Information Popup is displayed == QR Code == UI -> UI: ACT: Generate QR Code for electronic instructions for use (eIFU) US -> UI: ACT: Scan QR Code on mobile device to view eIFU == Versions == UI -> SW: ACT: Request version information for bound properties \ \n\tOS Version \ \n\tUI Version \ \n\tTD Version \ \n\tTD FPGA Version \ \n\tTD Serial Number \ \n\tDD Version \ \n\tDD FPGA Version \ \n\tDD Serial Number \ SW -> SW: ACT: Retrieve SW versions: \ \n\tGet OS Version from POST log \ \n\tRead UI Version \ SW -> TD: MSG: [x15: #1] TD Versions Request TD -> SW: MSG: [x0E: #9] \nTD versions data:\n \ \n\t(U8) mTDMajor \ \n\t(U8) mTDMinor \ \n\t(U8) mTDMicro \ \n\t(U16)mTDBuild \ \n\t(U8) mTDFPGAId \ \n\t(U8) mTDFPGAMajor \ \n\t(U8) mTDFPGAMinor \ \n\t(U8) mTDFPGALab \ \n\t(U12)mCompatibilityRev \ SW -> UI: MSG: Version Data: \ \n\tOS Version \ \n\tUI Version \ \n\tTD Version \ \n\tTD FPGA Version \ \n\tTD Serial Number \ \n\tDD Version \ \n\tDD FPGA Version \ \n\tDD Serial Number \ UI -> US: DSP: Display version information to user @enduml