VTC Error Checks -------------------- Rev. 17-MAR-1993 Some checks for Error Conditions can be added to the VTC. This will help seperate problems that happen as the Data Block is being built from problems that happen later. The checks that can be made include: 1. Verify that the Beam Crossing Number that is read early in the COMINT PROM's matches the Beam Crossing Number that is read at the very end of the COMINT PROM's. 2. Verify tha the List of Spec Trig's Fired that is read near the front of the COMINT PROM's matches the List of Spec Trig's Fired that is read very near the end of the COMINT PROM's. The Spec Trig's Fired List that is build from the reads near the begining of the COMINT PROM's is based on data from the 1st section of the Spec Trig's Fired IMLRO. The read at the end of the COMINT PROM's is from the 3rd section of this IMLRO so we are also testing for consistency in the various sections of the Spec Trig's Fired IMLRO. 3. Verify the the Current Beam Crossing Number is equal to the Previous Beam Crossing Number plus 1. How to flag an error when one is found: We can not tie up the system putting lots of characters to the screen because this will cause trouble for L2. VTC could put out a carriage return and a 2 character error code (i.e. 4 characters total) and then maintain a counter that is only displayed during the "Monitor Data Only Event Not Transfered" message. We could try to do screen management and always display the error counts at the bottom of the screen but I think that it takes a lot of characters to do this. Recall that any character I/O that is done will need to use the Private routines in ASCII_Routines.SRC and not calls to the 133A Bug Monitor. What needs to change in the VTC program structure: The basic idea is to include a new module called, "Error_Checking_1.SRC". i.e. the error checking will not be scattered through out a number of modules but rather it will all be contained in one module. The following COM files will need to pick up a reference to Error_Checking: BUILD_VME_TRANSFER_PROGRAM CHECK_DIFFERENCES_IN_VTC_1 COPY_VTC_1.COM The OPT file will need to pick up a reference to Error_Checking: VTC_1.OPT The global symbols will need to be included in : Main_Symbols.Include The calls to run Error_Checking will need to be added to: Cycle Master_1.SRC Original version of Error Checking from 17-MAR-1993: This included only the carriage return and the 2 letter code sent to the VTC console to flag each of the error type. In addition the error code "JL" which flags an empty Jet List has included the 8 hex digits to indicate the List of Spec Trig's that have Fired for this event. In this version no counters are kept of the total count of each type of error. For the future, we could include the ability for the VTC to write a log file on the host VAX. It could do this over the RS232 link that is used to load the program into the VTC. It could use commands like: Copy/Append TT: [TrgUser. ]VTC_Log_File.Txt Text of the Log Message Control Z These could include a time stamp because the VTC knows the absolute time and can make an ASCII character string out of it. A version limit could be set on the log file on the VAX to control its growth. The serial port on the MVME-133A that is connected to the VAX is call Port B. It is driven by Port B of a Z8530 UART (Zilog, AMD). Appendix C of the MVME-133A book shows examples of using the Z8530 serial Port B. Sheet 19 of the schematic section of the MVME-133A manual covers the Z8530 setup. The MVME-133A module is setup so that the Z8530 appears at the following addresses. Note that the Z8530 is refered to as the SIO. SIO Function Address ------------------------- ----------- SIOB RRO, SIOB WRO FFFA0000 SIOB RXDATA, SIOB TXDATA FFFA0001 SIOA RRO, SIOA WRO FFFA0002 SIOA RXDATA, SIOA TXDATA FFFA0003 How does the Bu-133A have/need Port B setup? Who echos the characters sent out Port B during Bug-133A transparent mode operation? If Port B itself is doing the echos then our Log-File messages may be echoed and cause received character interrupts.