Index: SDDs/Service.png =================================================================== diff -u Binary files differ Index: SDDs/Service.puml =================================================================== diff -u --- SDDs/Service.puml (revision 0) +++ SDDs/Service.puml (revision 1bc34c23575fe101b85c851cff245436394d7123) @@ -0,0 +1,171 @@ +@startuml Service + + participant OS as OS + participant Script as Script + participant DD as DD + 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 + + == Manufactoring Log In == + UI -> US: ACT: Manufactoring password screen + US -> UI: ENT: Enter new password + US -> UI: TCH: Confirm New password + US -> UI: TCH: Shutdown + + == Service Log In == + US -> UI: TCH: Settings Menu Item + UI -> US: ACT: Device Settings Screen + US -> UI: TCH: Service Option + UI -> US: ACT: Service Password Screen + US -> UI: ENT: Enter Service Password + US -> UI: TCH: Press Confirm + UI -> SW: ACT: Check if matches hashed password \ + \n\t-vSettings.isServicePasswordM + alt Accepted + SW -> UI: ACT: Notify UI password is correct + UI -> UI: ACT: Navigate to Device Settings Screen + SW -> TD: MSG: [xB0: #0] Request Service Mode + TD -> SW: MSG: [xB1: #2] \ + \n\tResponse: \ + \n\t(U32) mAccepted\ + \n\t(U32) mReason + SW -> UI: ACT: Notify UI + alt Accepted + UI -> US: ACT: Display all service options + else #Pink Rejected + UI -> US: ACT: Display to user failure reason + end + else #Pink Rejected + UI -> US: ACT: Display to user failure reason + end + + == Date/ Time == + UI -> US: ACT: Device Settings Screen (Logged in with Service Password) + US -> UI: TCH: Date/Time Option + UI -> US: ACT: Date/Time Screen + US -> UI: ENT: Enter Date and Time + US -> UI: TCH: Press Confirm + UI -> SW: ACT: Set Date and Time + group UI + SW -> Script: ACT: date_time_set.sh ( ) + activate Script + Script -> OS: CMD: \ + \n\tsudo timedatectl set-ntp "$ntp_flag" \ + \n\tsudo date -s "$new_time" \ + \n\tsudo hwclock -w + + OS -> Script: MSG: Exit Code + Script -> SW: MSG: Exit Code + deactivate Script + alt successful ( exit == 0 ) + SW -> UI: ACT: Update Date and Time + UI -> US: ACT: Date/ TIme is updated per desired value + else #Pink failed + SW -> UI: ACT: Notify UI Script Error + UI -> US: ACT: Notify user + end + end + group TD + SW -> TD: MSG: [x6C: #1] Set Date/ Time \ + \n\t(U32) mEpoch + TD -> SW: MSG: [x6D: #2] \ + \n\tResponse: \ + \n\t(U32) mAccepted \ + \n\t(U32) mReason + alt Accepted + SW -> UI: ACT: Notify UI TD Date/Time has successful been set + else #Pink Rejected + SW -> UI: ACT: Notify UI TD Date/Time has failed to be set + end + UI -> US: ACT: Notify user + end + group DD + SW -> DD: MSG: [x6E: #1] Set Date/ Time \ + \n\t(U32) mEpoch + DD -> SW: MSG: [x6F: #2] \ + \n\tResponse: \ + \n\t(U32) mAccepted \ + \n\t(U32) mReason + alt Accepted + SW -> UI: ACT: Notify UI DD Date/Time has successful been set + else #Pink Rejected + SW -> UI: ACT: Notify UI DD Date/Time has failed to be set + end + UI -> US: ACT: Notify user + end + + == Root SSH Access == + UI -> US: ACT: Device Settings Screen (Logged in with Service Password) + US -> UI: TCH: Enable Root SSH Option + UI -> US: ACT: Enable Root SSH Screen + US -> UI: TCH: Touch enable SSH/ Root login switch + UI -> SW: ACT: Set SSH/ Root login + SW -> Script: ACT: rootsshaccess.sh ( ) + activate Script + Script -> OS: CMD: disable/enable SSH login and Root Login + OS -> Script: MSG: set states of SSH/ Root Logins + Script -> SW: MSG: SSH/ Root login states + deactivate Script + alt successful ( exit == 0 ) + SW -> UI: MSG: SSH/ Root login states + UI -> UI: ACT: Update switch to reflect active enable states of SSH/ Root + else #Pink failed + SW -> UI: ACT: Notify UI Script Error + UI -> US: ACT: Notify user + end + == Factory Reset == + UI -> US: ACT: Device Settings Screen (Logged in with Service Password) + US -> UI: TCH: Factory Reset Option + UI -> US: ACT: Factory Reset Screen + US -> UI: TCH: Confirm button + UI -> US: ACT: Prompt secondary confirmation popup (Are Youy Sure?) + US -> UI: TCH: Confirm button + UI -> SW: ACT: Perform Factory Reset + SW -> Script: ACT: factory_reset.sh ( ) + activate Script + Script -> OS: CMD: deleteWiFi \ + \n\t deleteBluetooth \ + \n\t defaultSettings \ + \n\t defaultBrightness \ + \n\t deleteLogFiles + OS -> Script: MSG: Exit Code + Script -> SW: MSG: Exit Code + deactivate Script + alt successful ( exit == 0 ) + SW -> UI: MSG: Notify UI + UI -> US: ACT: Notify User Factory Reset is complete + else #Pink failed + SW -> UI: ACT: Notify UI Script Error + UI -> US: ACT: Notify user + end + == User Mode == + UI -> US: ACT: Device Settings Screen (Logged in with Service Password) + US -> UI: TCH: User Modes Option + UI -> US: ACT: User Modes Screen + US -> UI: TCH: Touch professional mode switch + UI -> SW: ACT: Set professional mode on or off + SW -> SW: ACT: Save configuration in System.conf +@enduml Index: sources/gui/qml/pages/settings/SettingsStack.qml =================================================================== diff -u -r76a79ad79a7667c402cd0f13481966c6ab9d0b76 -r1bc34c23575fe101b85c851cff245436394d7123 --- sources/gui/qml/pages/settings/SettingsStack.qml (.../SettingsStack.qml) (revision 76a79ad79a7667c402cd0f13481966c6ab9d0b76) +++ sources/gui/qml/pages/settings/SettingsStack.qml (.../SettingsStack.qml) (revision 1bc34c23575fe101b85c851cff245436394d7123) @@ -336,7 +336,6 @@ else { stackView.initialItem = null _headerBar.titleText = "" - serviceMode = false } } }