************************* MASTER CODE *************************************** The name of the first file in this disk's directory identifies the volume, issue number and revision of the disk. The format of this filename is: !CDmvvii.rrr where ! = the '!' character m = C for C Users Journal, W for Windows Developer's Journal vv = volume ii = issue rrr = revision (001 for initial release, 002 for next update, etc.) The file UPDATE.DOC contains information about any additions or corrections to material on the disk since the original magazine publication. If you have obtained this code from a floppy diskette or from CompuServe, the headings under the column "FILENAME" represent the names of .ZIP files. All files listed under the filename are archived in the .ZIP file. Keywords: Feb97 C C+ Embedded PID Timer Fail-Safe Encryption Template The code listings for the February 1997 issue of C/C++ Users Journal include source code for Steve Hartmann's article on PID Control Loops, Dave Wendel's polled timer class, Dan Wisehart's classes for fail-safe operation, Carlo Pescio's article on Binary Template Metaprogramming, and Steve Ball's encryption system for software registration. Also included is source code from P.J. Plauger's column, Standard C/C++. ************************* FILE DESCRIPTION ********************************** The following files are included in the disk: FILENAME AUTHOR-NAME TITLE PAGE (Zip archive/ subdirectory name) ------------------------------------------------------------------------------- hartmann Steve Hartmann A Reusable PID Control Class pid_cntl.h - listing 1, Defines class PidControl pid_cntl.cpp - not listed, Includes CalculateGain function shown in listing 2 pipeset.h - not listed, Header file for class PipingSet pipeset.cpp - not listed, Includes functions shown in listing 3 wendel J. David Wendel A Polled Timer Class timer.h - listing 1, The Timer class timer.cpp - listing 2, The Timer implementation exe.cpp - listing 3, An executive that uses the timers wisehart Daniel Wisehart Software for Fail-Safe Applications constant.h - listing 1, Static constants for fail-safe software analogin.h - listing 2, The AnalogInput class analogot.h - listing 3, The AnalogOutput class digout.h - listing 4, The DigitalOutput class digin.h - listing 5, The DigitalInput class auditor.h - listing 6, The Auditor and Watchdog classes digoutau.h - listing 7, Digital output auditor class pescio Carlo Pescio Binary Constants Using Template Metaprogramming fibonacc.h - listing 1, Fibonacci function bin2dec.h - listing 2, Binary to decimal conversion errcheck.h - listing 3, Error checking final.h - listing 4, Final version with range checking and macros gen.cpp - listing 5, Sample source and generated code bin.h - not listed, complete header file for handling binary constants with template metaprograms test1.cpp - not listed, Test stub for template metaprograms ball Steve Ball An Encryption System for Software Registration makecode.c - listing 1, Functions used to create activation and serialization codes plauger P.J. Plauger Standard C/C++: The Header list - listing 1, Template class list ******************************************************************************* If you have questions regarding to the disk, please call or write us. ----------------------------------------------------------------------------- Miller Freeman Inc. 1601 W. 23rd St. Suite 200 Lawrence, KS 66046 1-800-444-4881 or 913-841-1631 -----------------------------------------------------------------------------