TYX
Home

Company Profile

Products

Support

News

Partners

PUG

Guestbook

Release Notes

Application Notes

Papers and Info

Problem Report

Y2K

FAQ


Release Notes

CEM User
Release Notes
Release 19991128
28 November 1999

Purpose

The purpose of this document is to provide information pertaining to the release of the CEM Kernel and user interface. This document is divided into three sections:

Enhancements Describes changes that enhance the capability of the CEM Kernel.

Problem Reports Describes changes that correct errors reported in problem reports.

CEM Help Describes changes made to the user interface that will eventually be added to the CEM On-Line Help.

Enhancements

Fix for CEM Kernel Fault

Prior to this release, the CEM Kernel would sometimes fault (or cause other unpleasant things to occur later) because of an error during the initial processing of Modifiers with a LEVEL-LOGIC Prefix.

With this release, this error has been corrected.

Change to CEM Kernel Data Reset

Prior to this release, the CEM Kernel would reset all Datums for the Current Device / Channel before calling the User's RESET Function during the IFC/RESETs/DCL Loop. This was inconsistent with the processing that occurred for an ATLAS Action RESET, where the CEM Kernel resets all Datums for the Current Device / Channel after calling the User's RESET Function.

With this release, the CEM Kernel resets all Datums for the Current Device / Channel after calling the User's RESET Function during the IFC/RESETs/DCL Loop.

Elimination of V_INT Multiple Definition

Prior to this release, compilation of CEM User Source Files using certain versions of the Microsoft C++ Compiler would print a Warning Message indicating that Label V_INT was multiply defined.

With this release, the CEM Header File cem.h contains Compiler Directives to undefine V_INT if it is defined, thereby eliminating the Warning Message.

 

User Stub Functions - New Values for Environment Variable TYXCEMSTUBLEVEL

Prior to this release, the numerical value assigned to TYXCEMSTUBLEVEL caused User Stub Functions to print Action Lines and Modifier Data Lines as follows:

Value Meaning
0 No printing.
Not 0 Print Action Lines and Modifier Data Lines.

With this release, the numerical value assigned to TYXCEMSTUBLEVEL causes User Stub Functions to print Action Lines and Modifier Data Lines as follows:

Value Meaning
0 No printing.
1 Print Action Lines.
2 Same as 1 above, plus Modifier Data Lines for all Datums that have not yet been printed.
3 Same as 2 above, plus Modifier Data Lines for all "stale" Datums detected by the User Stub SETUP Function userStubSETUP().
4 Same as 3 above, plus Modifier Data Lines for all "stale" Datums detected by the User Stub CLOSE Function userStubCLOSE().
5 Same as 4 above, plus Modifier Data Lines for all "stale" Datums detected by the User Stub INITIATE Function userStubINIT().
6 Same as 5 above, plus Modifier Data Lines for all "stale" Datums detected by the User Stub FETCH Function userStubFETCH().
7 Same as 6 above, plus Modifier Data Lines for all "stale" Datums detected by the User Stub LOAD Function userStubLOAD().
8 Same as 2 above, plus Modifier Data Lines for all "stale" Datums.
9 Modifier Data Lines for all Datums.

Refer to the next two Sections for more information pertaining to the usage of these values.

User Stub Functions - New Printing Algorithm

Prior to this release, certain User Stub Functions printed Modifier Data Lines for certain Datums, depending upon the Datum Qualifier. For example, userStubSETUP() printed Modifier Data Lines only for Datums with Setup Qualifiers, userStubCONNECT() printed Modifier Data Lines only for Datums with Connect Qualifiers, userStubFETCH() printed a Modifier Data Line for the Fetch Datum, etc. Subsequent testing with various ATLAS Compilers has shown this to be insufficient.

With this release, User Stub Functions print Modifier Data Lines as defined by the numerical value assigned to the Environment Variable TYXCEMSTUBLEVEL as defined in the previous Section. Additionally, some User Stub Functions (e.g., userStubINIT() and userStubFETCH()) that did not print Modifier Data Lines for Datum with Setup Qualifiers now do so.

 

User Stub Functions - New Debug Functions userStubPrintOnly() and userStubSetLevel()

Prior to this release, a User Function within an existing CEM Device Driver that included a call to the appropriate User Stub Function in order to get Modifier Data Lines printed ran into problems. Due to the old printing algorithm (see previous Section), not all Datums could be seen. Additionally, if userStubFETCH() was called, the Fetch Datum was loaded with random Datum Values.

With this release, two new User Stub Debug Functions have been added to support CEM Device Driver debugging:

Function Prototype Description
void userStubPrintOnly( void ) Requests that the next User Stub Function called only perform printing processing. As currently implemented, the only User Stub Function affected is userStubFETCH().

void userStubSetLevel( int nSL )

Requests that the next User Stub Function called perform printing at the specified Stub Level nSL, thereby temporarily overriding the setting of TYXCEMSTUBLEVEL.

Both of these Functions are "one-shot" Functions in that the request applies to the next User Stub Function called. The following are examples of usage:

SomeDeviceSlashChannelINIT()

{

userStubSetLevel( 9 ); /* Request all Data */

userStubINIT(); /* Print Action and Data */

(User's Processing)

}

SomeDeviceSlashChannelFETCH()

{

(User's Processing)

userStubPrintOnly(); /* Disable Random Data */

userStubFETCH(); /* Print Action and Data */

}

User Stub Functions - Change to Action Lines for Non-ATLAS Actions

Prior to this release, the Action Name was placed on the left-hand side of an Action Line (thereby indicating a Non-ATLAS Action) whenever the Current Verb and Current Noun were zero. This produced incorrect information when the RTS executed an ATLAS Terminate Statement.

With this release, Action Lines for Non-ATLAS Actions are correctly formatted regardless of the Current Verb and Noun. Additionally, the Action Line printed by userStubRESET() during the IFC/RESETs/DCL Sequence shows the appropriate Controller and Device Bus Addresses.

 

User Stub Functions - Change to Modifier Data Lines for FETCH and LOAD ATLAS Actions

Prior to this release, the User Stub Function userStubFETCH() and userStubLOAD() printed Modifier Data Lines only for the Fetch and Load Datums, respectively. These Lines always started with "M1". This became confusing when these Functions were changed to also print Modifier Data Lines for Datums with Setup Qualifiers.

With this release, the Modifier Data Lines for the Fetch and Load Datums begin with "MF" and "ML", respectively.

Problem Reports

None.

CEM Help

None.



| Home | Company Profile | Products | Support | News | Partners | User Groups | Guestbook |