The following sections describe how Diagnostic Applications and Diagnostic Tasks should use the interfaces provided in the Diagnostic Library to display the different screen types. The Diagnostic Subsystem supports various display environments. The menu interfaces are designed to be display environment independent, with the library routine(s) building the correct menu structures depending on the display environment.
Screen Types
The Diagnostic Subsystem uses six different screen types, displayed by four different functions:
Screen Type | Diagnostic Applications | Diagnostic Tasks |
---|---|---|
INFORMATIVE | diag_resource_screen | diag_task_screen |
SINGLE SELECTION | diag_resource_screen | diag_task_screen |
MULTIPLE SELECTION | n/a | diag_task_screen |
DIALOG SELECTION | n/a | diag_task_screen |
TRANSITIONAL | diag_resource_screen
diag_progress |
diag_task_screen
diag_progress |
POPUP | diag_popup | diag_popup |
Screen Size Assumptions
In order for Diagnostics to run in a window, a minimum screen dimension of 24 lines by 80 columns is required.
INSTRUCTION LINE
The INSTRUCTION LINE will be added automatically depending on the screen type. The following table illustrates the messages used for the INSTRUCTION LINE.
Screen Type | INSTRUCTION LINE |
---|---|
INFORMATIVE | Use Enter to continue. |
SINGLE SELECTION | Make selection, use Enter to continue. |
MULTIPLE SELECTION | Make selection(s), use Commit to continue. |
DIALOG SELECTION | Enter selection(s), use Commit to continue. |
TRANSITIONAL | Please stand by. |
POPUP | n/a |
Diagnostic Applications should use one of the following screen types:
The following template shows a sample screen that is used when running diagnostics on a resource. The DA would use the diag_resource_screen library function to display this screen.
The Title line is split between lines 1 and 2. The ACTION, TEST MODE, and the menu number go on the first line. ACTION is defined as one of the following:
If the ACTION is TESTING, the TEST MODE will be displayed on the first line. TEST MODE is defined as:
The TEST MODE field will be blank if running non-advanced mode diagnostics.
The Menu Number represented by xxxxxx, goes on the first line.
The Resource Name and Location Code go on the second
line.
1 2 3 4 5 6 7 01234567890123456789012345678901234567890123456789012345678901234567890123456789 -------------------------------------------------------------------------------- 1 ACTION {TEST MODE} xxxxxx 2 Resource Name Location Code 3 4 + 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 BODY OF MENU 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 + 22 ___________________________________________ 23 Function Key Area | Progress Indicator Area | 24 Function Key Area | | --------------------------------------------------------------------------------
The BODY of the menu can assume multiple personalities depending on the screen type. It includes all text of the menu, including the INSTRUCTION line. The BODY does not include the TITLE.
For an INFORMATIVE screen, the body consists of information describing the test and what it does. In the following example, lines 4 through 12 consist of the information about the test. Line 14 is the INSTRUCTION LINE, and is added automatically by the diag_resource_screen function.
1 2 3 4 5 6 7 01234567890123456789012345678901234567890123456789012345678901234567890123456789 -------------------------------------------------------------------------------- 1 TESTING ADVANCED MODE 935045 2 fd0 00-00-0D-00 3 4 Diskette Change/Write Protect Test 5 6 REMOVE.........the diskette, if any, from the diskette drive (fd0). 7 INSERT.........the High Capacity (4M byte) Diagnostic Test 8 Diskette or an equivalent, formatted, 9 scratch diskette into the diskette drive (fd0). 10 11 NOTE: The diskette must be write protected (the write protect 12 tab should not cover the hole). 13 14 Use Enter to continue. 15 16 17 18 19 20 21 22 23 24 F3=Cancel F10=Exit Enter --------------------------------------------------------------------------------
For a SINGLE SELECTION screen, the body consists of results from a previous test that had run, and asking the user if the results are accurate. The User selects a response, normally YES or NO, from a given list. In the following example, lines 4 through 9 consist of the information about the test. Lines 13 and 14 consist of the SELECTION lines. Line 11 is the INSTRUCTION LINE, and is added automatically by the diag_resource_screen function.
1 2 3 4 5 6 7 01234567890123456789012345678901234567890123456789012345678901234567890123456789 -------------------------------------------------------------------------------- 1 TESTING ADVANCED MODE 935025 2 fd0 00-00-0D-00 3 4 Diskette Select and Deselect Test 5 6 OBSERVE........the in-use light on the diskette drive (fd0). 7 8 Was the in-use light on for approximately 5 seconds and 9 then did it turn off? 10 11 Make selection, use Enter to continue. 12 13 YES 14 NO 15 16 17 18 19 20 21 22 23 24 F3=Cancel F10=Exit Enter --------------------------------------------------------------------------------
For a TRANSITIONAL screen, the body usually consists of a single INSTRUCTION line of Please stand by. This indicates that the test is currently processing some data. It is also used to indicate that looping is in progress, and shows the number of passes made plus the total number of errors encountered. User may press Cancel to stop the test. The following example shows a looping menu. Line 10 is the INSTRUCTION LINE, and is added automatically by the diag_resource_screen function. See also Diagnostic Progress Indicators.
1 2 3 4 5 6 7 01234567890123456789012345678901234567890123456789012345678901234567890123456789 -------------------------------------------------------------------------------- 1 TESTING LOOP MODE 935025 2 fd0 00-00-0D-00 3 4 5 6 1 passes completed. 7 5 errors logged. 8 9 10 Please stand by. 11 12 13 14 15 16 17 18 19 20 21 22 23 24 F3=Cancel F10=Exit --------------------------------------------------------------------------------
For a POPUP screen, the application code should use the diag_popup library function call.
Diagnostic Tasks are free to use any of the six supported screen types:
The following template shows a sample screen that is used when running a task. The Task would use the diag_task_screen library function to display this screen.
The Title line is split between lines 1 and 2. Most all Task titles should fit on the first line, but the second line may be used for clarity or for translation reasons. The TITLE text should be all capitalized.
1 2 3 4 5 6 7 01234567890123456789012345678901234567890123456789012345678901234567890123456789 -------------------------------------------------------------------------------- 1 TASK TITLE LINE 1 8xxxxx 2 TASK TITLE LINE 2 3 4 + 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 BODY OF MENU 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 + 22 23 Function Key Area 24 Function Key Area --------------------------------------------------------------------------------
The BODY of the menu can assume multiple personalities depending on the screen type. It includes all text of the menu, including the INSTRUCTION line. The BODY does not include the TITLE.
For an INFORMATIVE screen, the body consists of information describing the task and what it does. In the following example, lines 3 through 15 consist of the information about the task. Line 17 is the INSTRUCTION LINE, and Line 24 consists of the function keys available for this screen type. Both lines are added automatically by the diag_task_screen function.
1 2 3 4 5 6 7 01234567890123456789012345678901234567890123456789012345678901234567890123456789 -------------------------------------------------------------------------------- 1 PERIODIC DIAGNOSTICS SERVICE AID 802150 2 3 This service aid is used to periodically test hardware resources and 4 monitor hardware errors in the error log. 5 6 A hardware resource can be chosen to be tested once a day, at a user 7 specified time of day. If the resource cannot be tested because it is 8 busy, error log analysis will be performed. 9 Hardware errors logged against a resource can also be monitored by enabling 10 Automatic Error Log Analysis. This will allow error log analysis to be 11 performed every time a hardware error is put into the error log. 12 13 If a problem is detected, a message will be posted to the system console 14 and a mail message sent to user(s) belonging to system group with information 15 about the failure such as Service Request Number. 16 17 Use Enter to continue. 18 19 20 21 22 23 24 [F1=Help] F3=Cancel F10=Exit Enter --------------------------------------------------------------------------------
For a SINGLE SELECTION screen, the body consists of individual selectable items and possibly a short description. In the following example, lines 5 through 21 consist of the selectable items. This example illustrates six (6) selectable menu items. The indentions for the selectable item descriptions must be added when the message is built. Line 3 is the INSTRUCTION LINE, and is added automatically by the diag_task_screen function.
Any information about the selections may be added to the screen, and would appear after the TITLE line[1] and before the INSTRUCTION line[3].
1 2 3 4 5 6 7 01234567890123456789012345678901234567890123456789012345678901234567890123456789 -------------------------------------------------------------------------------- 1 PERIODIC DIAGNOSTICS SERVICE AID 802151 2 3 Make selection, use Enter to continue. 4 5 Add a resource to the periodic test list 6 This selection allows a resource to be periodically tested. 7 Delete a resource from the periodic test list 8 This selection removes a resource from the list of periodically 9 tested resources. 10 Modify the time to test a resource 11 This selection allows the time of day to test a resource to be 12 changed. 13 Display the periodic test list 14 This selection displays all resources being tested periodically 15 by diagnostics. 16 Modify the error notification mailing list 17 This selection allows the mailing list for error notification 18 to be modified. 19 Disable Automatic Error Log Analysis 20 Automatic Error Log Analysis is currently enabled. 21 This selection stops the Automatic Error Log Analysis. 22 23 24 F1=Help F10=Exit F3=Previous Menu -------------------------------------------------------------------------------- 23 F1=Help F4=List F10=Exit Enter 24 F3=Previous Menu --------------------------------------------------------------------------------
For a MULTIPLE SELECTION screen, the body consists of individual selectable items and possibly a short description. In the following example, lines 10 through 12 consist of the selectable items. Line 8 is the INSTRUCTION LINE, and is added automatically by the diag_task_screen function.
Any information about the selections may be added to the screen, and would appear after the TITLE line[1] and before the INSTRUCTION line[8].
HELP text may be displayed any time the cursor is on line 10, 11, or 12 in the following example. Each selectable line may have associated HELP text.
1 2 3 4 5 6 7 01234567890123456789012345678901234567890123456789012345678901234567890123456789 -------------------------------------------------------------------------------- 1 DELETE RESOURCES FROM THE PERIODIC DIAGNOSTICS TEST LIST 802155 2 3 The following resources are currently being tested periodically. 4 Test time is shown inside the brackets in 24 hour format. 5 Once deleted, a resource cannot be tested until it is added back to the 6 test list. 7 8 Make selection(s), use Commit to continue. 9 10 ioplanar0 [04:00] I/O Planar 11 hdisk0 [03:00] 1.0 GB SCSI Disk Drive 12 hdisk1 [03:00] 2.0 GB SCSI Disk Drive 13 14 15 16 17 18 19 20 21 22 23 F1=Help F2=Refresh F3=Cancel F4=List 24 F5=Reset F7=Commit F10=Exit --------------------------------------------------------------------------------
For a DIALOG SELECTION screen, the body consists of individual items with a bracketed area to the right. This bracketed area allows data selections to be set for each individual item. In the following example, lines 10 and 11 consist of the items. Line 7 is the INSTRUCTION LINE, and is added automatically by the diag_task_screen function.
HELP text may be displayed any time the cursor is on line 10 or 11 in the following example. Each dialog line may have associated HELP text.
1 2 3 4 5 6 7 01234567890123456789012345678901234567890123456789012345678901234567890123456789 -------------------------------------------------------------------------------- 1 PERIODIC DIAGNOSTICS SERVICE AID 802157 2 3 ent0 00-00-0E Integrated Ethernet Adapter 4 5 Set the time when the resource should be tested. 6 7 Enter selection(s), use Commit to continue. 8 9 10 * HOUR (00-23) ................................. [00] +# 11 * MINUTES (00-59) .............................. [00] +# 12 13 14 15 16 17 18 19 20 21 22 23 F1=Help F2=Refresh F3=Cancel F4=List 24 F5=Reset F7=Commit F10=Exit --------------------------------------------------------------------------------
For a TRANSITIONAL screen, the body consists of a single INSTRUCTION line of Please stand by. This indicates that the task is currently processing some data. Users may press Cancel to stop the task. The following example shows a task in progress menu. Line 6 consists of the INSTRUCTION LINE, and is automatically added by the diag_task_screen function. See also Diagnostic Progress Indicators.
1 2 3 4 5 6 7 01234567890123456789012345678901234567890123456789012345678901234567890123456789 -------------------------------------------------------------------------------- 1 HARDWARE ERROR REPORT 802905 2 3 4 Reading current error log. 5 6 Please stand by. 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 F3=Cancel F10=Exit --------------------------------------------------------------------------------
For a POPUP screen, the body consists normally of help text. It is used to help the user understand the current screen, or menu selection. In the following example, the popup appears in a windowed box near the bottom of the screen. No INSTRUCTION line is used. This screen is added by the diag_popup function.
If the F1=Help key is selected, but there is no associated Help text associated with the current selection, then this key is returned to the calling application.
1 2 3 4 5 6 7 01234567890123456789012345678901234567890123456789012345678901234567890123456789 -------------------------------------------------------------------------------- 1 FUNCTION SELECTION 801002 2 3 4 Move cursor to selection, then press Enter. 5 6 Diagnostic Routines 7 This selection will test the machine hardware. Wrap plugs and 8 other advanced functions will not be used. 9 Advanced Dl ______________________________________________________ 10 This sel| | 11 other ad| | 12 Task Selec| Select this choice when you want to run |c.) 13 This sel| Diagnostics on a resource (device). |. 14 Once a t| |g 15 all reso| | 16 Resource S| | 17 This sel| |pported 18 by these| |ll 19 be prese| |). 20 | | 21 | | 22 | | 23 | F3=Cancel F10=Exit Enter | 24 F1=Help |______________________________________________________| --------------------------------------------------------------------------------
Diagnostic Progress Indicators are used to inform the user what is going on. The Progress Indicators appear as a popup box at the bottom of the screen during a Diagnostic Application TRANSITIONAL screen or a Diagnostic Task TRANSITIONAL screen display.
The Progress Indicators may be turned off by using the Run Time Options Task. This selection sets the diagnostic environment variable DIAG_NO_PROGRESS appropriately.
1 2 3 4 5 6 7 01234567890123456789012345678901234567890123456789012345678901234567890123456789 -------------------------------------------------------------------------------- 1 DISPLAY/CHANGE DIAGNOSTIC RUN TIME OPTIONS 801009 2 3 Select values for the options below. 4 When finished, use 'Commit' to continue. 5 Display Diagnostic Mode Selection Menus [On] + 6 Include Advanced Diagnostics [Off] + 7 Include Error Log Analysis [Off] + 8 Display Progress Indicators [On] + 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 F1=Help F2=Refresh F3=Cancel F4=List 24 F5=Reset F7=Commit F10=Exit --------------------------------------------------------------------------------
The following example shows a Diagnostic Application screen that is displaying a Progress indicator with the type of test unit being run.
1 2 3 4 5 6 7 01234567890123456789012345678901234567890123456789012345678901234567890123456789 -------------------------------------------------------------------------------- 1 TESTING LOOP MODE 935025 2 fd0 00-00-0D-00 3 4 5 6 1 passes completed. 7 5 errors logged. 8 9 10 Please stand by. 11 12 13 14 15 16 17 18 19 22 -------------------------------------------------- 23 | Register Test | 24 F3=Cancel -------------------------------------------------- --------------------------------------------------------------------------------
These Progress Indicator messages must be kept short, one line, and under 30 characters. Note that the function key F10=Exit is overwritten by the Progress Indicator.
The diag_progress library function call is used for this Progress Indicator.