@startuml LowBicardWorkflow participant TD as TD participant SW as SW participant UI as UI actor USER as US 'Possible actions and interaction types ' TD -> SW: MSG: Message ' SW -> UI: CMD: command ' UI -> UI: ACT: Action ' US -> UI: User actions are: ' ENT: User enters a value or string ' TCH: User touches a button (RadioButton, CheckBox, ...) ' SET: User sets/slides a slider ' SCL: User scrolls a flipable area ' 'Messages conventions: '[x \n ,] '[x \n ,# certain amount of parameters according to the content] '[x \n ,X The rest of the parameters do not matter.] == Low Bicarb Alarm == TD -> SW: MSG: [x01: #4] \nTD AlarmStatus : \ \n\t(U32) mState \ \n\t(U32) mTop=LOW_BICARB_ALARM \ \n\t(U32) mMuteTimeout \ \n\t(U16) mFlags |= OK_BUTTON SW -> UI: ACT: Display Alarm Dialog \ \n\t - OK Button visible UI -> US: ACT: Display Alarm Dialog \ \n\t - OK Button visible US -> UI: TCH: OK Button UI -> SW: ACT: doUserActionOk ( \ \n\tALARM_USER_ACTION_OK \ \n) SW -> TD: MSG: [x06: #1] AlarmUserAction \ \n\t(U32) action TD -> SW: MSG: [x01: #4] \nTD AlarmStatus : \ \n\t(U32) mState \ \n\t(U32) mTop=REPLACE_BICARB_ALARM \ \n\t(U32) mMuteTimeout \ \n\t(U16) mFlags |= OK_BUTTON SW -> UI: ACT: Display Alarm Dialog \ \n\t - OK Button visible UI -> US: ACT: Display Alarm Dialog \ \n\t - OK Button visible TD -> SW: MSG: [xB5: #7] \nTD Confirmation : \ \n\t(U32) mId =4 (BICARB) \ \n\t(U32) mCommand =0 (GENERIC_CONFIRM_CMD_REQUEST_OPEN) \ \n\t(U32) mReason \ \n\t(F32) mFloat1=mProgressMax \ \n\t(F32) mFloat2=mProgressValue \ \n\t(F32) mFloat3 \ \n\t(F32) mFloat4 SW -> UI: ACT: Display Confirm Dialog UI -> US: ACT: Minimize Alarm Dialog \ \n\t Confirm Dialog Data shows progress \ \n\t Automatically close once completes UI -> UI: ACT: Maximize REPLACE_BICARB_ALARM Alarm Dialog US -> UI: TCH: OK Button UI -> SW: ACT: doUserActionOk ( \ \n\tALARM_USER_ACTION_OK \ \n) SW -> TD: MSG: [x06: #1] AlarmUserAction \ \n\t(U32) action TD -> SW: MSG: [x01: #4] \nTD AlarmStatus : \ \n\t(U32) mState \ \n\t(U32) mTop=CONDUCTIVITY_OUT_OF_RANGE \ \n\t(U32) mMuteTimeout \ \n\t(U16) mFlags |= NO_BUTTONS SW -> UI: ACT: Display Alarm Dialog \ \n\t - NO_BUTTONS visible UI -> US: ACT: Display Alarm Dialog \ \n\t - NO_BUTTONS visible @enduml