             Synergy MLC and MLCB Controller software release notes
             ======================================================
                           Version 1.28, 06-Dec-2006
                           =========================
                              (file: release.txt)

1. GENERAL INFORMATION
   -------------------

  Through the use of DOS and command line parameters, this application
  can be used on a T-Systems, WinSystems, or Ampro controller using
  the OEM flash or a DiskOnChip.  It has also been tested as a 32 bit
  RTOS-32 protected mode application.

  It uses On-Time's RTKernel-C 4.5 and DOS for the OS services (or
  On-Time's RTOS-32 for 32-bit protected mode applications).  It uses
  an OEM flash with DOS support or Disk-On-Chip as the disk drive.

  It contains a 19200 baud 8 N 1 data interface on PC/104 COM2 (COM1 to
  Interface Card and Keypad).  The 19200 baud restriction is due to
  the lack of a FIFO on the T-Systems PC/104 card.  A 57600 baud rate
  can be achieved using a serial port containing a FIFO (default on
  32-bit build).

  MLC is designed with the following capacities:
    6 relay or dimmer cards addressed 1 to 6
   16 digital switches or control stations on RS-485 A4 network
   99 groups of up to 48 relays each, group 0 with no members
   99 preset groups allowing control of station presets
   10 partition groups allowing control station room assignment
   99 scheduled events each controlling a single group
   32 holidays, annual and recurring
    6 digital switch external outputs mapped to module 6 outputs
   48 configurable relay outputs
   48 configurable switch inputs each controlling a single group
   12 configurable analog inputs each controlling a single group
    1 keypad and display card with English menus similar to MLS.

  MLCB is designed with the following capacities:
    1 breaker card addressed at 0
   16 digital switches or control stations on RS-485 A4 network
      each containing up to 16 presets and 16 channels that
      can each control a single group or preset.
   99 groups of up to 42 breakers each, group 0 with no members
   99 preset groups allowing control of station presets
   10 partition groups allowing control station room assignment
   99 scheduled events each controlling a single group
   32 holidays, annual and recurring
   12 digital switch external outputs mapped to module 0 outputs 31-42
   42 configurable breaker outputs
    0 configurable switch inputs each controlling a single group
    0 configurable analog inputs each controlling a single group
    1 keypad and display card with English menus similar to MLS.

  The default MLC program configuration includes:
    a. 1:1 mapping of switches to relays
    b. Weekday, Weekend, and Holiday schedules for timed OFF events,
       dusk to dawn and dusk ON/time OFF.
    c. Database of 450 North American cities including longitude,
       latitude, time zone offset, and daylight savings, default
       set to Atlanta, Georgia.
    d. Control station database with room assignment

  The default MLCB program configuration includes:
    a. no mapping to breakers
    b. Weekday, Weekend, and Holiday schedules for timed OFF events,
       dusk to dawn and dusk ON/time OFF.
    c. Database of 450 North American cities including longitude,
       latitude, time zone offset, and daylight savings, default
       set to Atlanta, Georgia.
    d. Control station database with room assignment

  The software consists of an operating system and an application for
  use in the 386 or higher PC/104 computer, and was designed for use in
  a T-Systems TS-2100 or TS-3200 386EX.  The PC/104 computer should
  contain at least an Intel 80386 or compatible CPU, at least 640KB
  RAM, at least 500kb of free disk space, 2 COM ports, a battery backed
  PC compatible real time clock (that will handle daylight savings
  internally), and PC/AT standard interrupt control unit and
  timer/counter unit.  General Software DOS-ROM comes installed.  ESG
  part number for the T-Systems TS2100 386EX is CDEAA00235. ESG
  part number for the T-Systems TS3200 386EX is CDEAA00283.


1.1 Programming instructions
    ------------------------
  See special instruction +CDSECSY12 for details of how to program the
  OEM flash on the PC/104 card.  There are also details in the
  users manual for the PC/104 card, available on their website:
  http://www.embeddedx86.com/

1.2 Related software or files
    -------------------------

  RECREATE.TXT, available from Source Safe [Synergy - Lite104 - doc],
  for specific information on how to recreate the binary image
  application file.

  The T-Systems TS-2100 or TS-3200 386EX comes with some utility files
  that are useful for this product:
    MFGDRV   SYS - used to setup manufacturing mode to download to PC/104
    INT      COM - used to enable/disable console mode

2. COPYRIGHT NOTICE
   ----------------

  Synergy Controller Software is copyright Lithonia Lighting Inc.

3. CHANGES
   -------

[1.28]
Changed realtime hardware clock routines to be able to handle 
the 2007 and beyond daylight savings time automatic adjustment.
[17-Nov-2006]

[1.28]
Corrected a race condition in the ACCESS.bus driver that would 
cause a controller to stop responding.
[03-Aug-2006]

[1.28]
Changed the order of IRQ searching for the ACCESS.bus driver to 
permit the WinSystems board to come up correctly.  Also removed 
IRQ7 from the TS-2100 build (i.e. non-RTK-32).
[31-May-2006]

4. Features not yet supported
   --------------------------

  Error checking on all values entered via serial console.

  Prior version upgrade compatibility.

  Store reinitialization times and display on secret menu.

5. KNOWN ISSUES
   ---------------------------

   ACCESS.bus can only handle the number of devices specificed.  Extra
   devices on the ACCESS.bus will continuously attempt to initialize 
   and cause excess ACCESS.bus traffic.

6. RELEASE INFORMATION
   -------------------

  Filename      Format       MD5 Sum                           Size (bytes)
  --------      ------       --------------------------------  ------------
  LITE.EXE      16-bit DOS   55700b3be6fb3b7b05d88760527682ef  292753
  MLCBP.EXE     16-bit DOS   a1c1be56243c8456002034622933c577  283,809

  EXE file needs a serial connection for installation into the TS-xx00,
  or a special daughter card from Technologic Systems.

7. COMPATIBILITY
   -------------

  This software is for use in any 80386 compatible computer, but is
  intended for use with the T-Systems 386EX / PC-104 mounted on the
  interface card (CDAE000421 or CDAE00377 or CDAE00378).  It can be
  used in any of the SYSC MLC assemblies.

  The EXE file is intended to run from DOS and uses a disk drive for
  configuration storage.  It has been successfully tested with
  Datalight ROM-DOS, General Software DOS-ROM, and Microsoft MS-DOS.

  The application software is not compatible with revision A or B of
  the CDEPB00020 interface card.

  The EXE file has been used successfully with Ampro 386SX, 486-133,
  the WinSystem PCM-386 and PCM-586, and the T-Systems TS-2100 and
  TS-3200 386EX.

  The application has also been compiled as a 32-bit boot application
  in RTOS-32 (RTB file) and has run successfully on WinSystems PCM-386
  or PCM-586 and on the Ampro 386SX.  It runs successfully on
  the TS-3200 with the execption of the serial console download, which
  fails due to the lack of a FIFO at 19200 baud.  It does download
  succesfully on the TS-3200 when the control station task is suspended
  during download.  The RTB application requires a DiskOnChip, hard drive,
  or floppy drive for file storage.

8. Previous releases
   -----------------

[1.27] Corrected timezone for Rapid City, SD. [17-Apr-2007]

[1.27] Added md5, mailbox, and semaphore serial console commands for 
RTK32/RTB builds. [11-Apr-2006]

[1.27] Modified the device manager to use the 3 separate queues 
that the ACCESS.bus driver supports to allow metered config data 
to be sent, presence checks to have high priority, and the other 
messages to be sent when they are ready.  Changed the order of the 
config messages so that the last config message is the request for 
status. Started the ACCESS.bus throttling task to allow configuration 
data to be metered to the cards. Added mailbox init for the 
throttling task. [22-Mar-2006]

[1.27] Fixed controllable breaker online/offline status menu display.
[24-Feb-2006]

[1.27] Updated ACCESS.bus device manager to only reset device 
after a bad message only if the bad message was a presence check.
Updated for new ACCESS.bus driver API. [11-Jan-2006]

[1.27] Set default baud for RTK32 build at 57.6K.
Configured terminal data table into far segment due to DGROUP 
exceeding 64K. [11-Jan-2006]

[1.27] Added lookup of master station when being controlled by group 
(i.e. via serial console).  Configured station data into far segment 
due to DGROUP exceeding 64K.  [11-Jan-2006]

[1.27] Corrected serial console recieve file bug that caused a file 
to fail on the last packet when the size of the file was an exact 
multiple of 1024. [09-Jan-2006]

[1.26] Simplified and made more robust the Philips PCF8584 i2c driver code.
Changed ACCESS.bus transmit task back to +3 priority.  Removed i2c state
references from the serial console. Changed the high priority task priorities
to leave a high priority slot at +3 for the terminal when it was transmitting
ymodem. [31-Mar-2005]

[1.25] Removed group restriction in the serial console that caused invalid group
error.  It now allows schedules to schedule presets and partitions. [22-Mar-2005]

[1.24] Added a check in the output timeout routine to see if the schedule is
active.  If the schedule is active, the warntime and timeout are set to 0,
preventing a timeout from occurring.  This problem occurred when a switch
with a timeout was pressed prior to a schedule becoming active, and the
switch timeout still occurred. [14-Mar-2004]

[1.24] Changed the Event entry menu to keep the time entry if another key is
pressed. [14-Mar-2004]

[1.23] Added proper handling of control station buttons with common groups,
especially ramping buttons.  The levels are now updated on the buttons
controlling the same group at the time of the button press.  This helps keep
the ramping buttons in sync, and keeps the output from jumping levels.
[28-Feb-2005]

[1.22] Added SETUP password protection to the time and date menu.

[1.22] Moved the remote port data to the terminal module.  Removed the command
line option for the terminal baud rate. [06-Aug-2004]

[1.22] Added a menu item (start-setting up-more-serial) that permits the
configuration of the terminal baud rate and commits it to non-volatile storage.
[06-Aug-2004]

[1.21] Output_Update() was not being called for Analog and Switch inputs when a
group was changed.  This prevented the changed groups from being saved unless
another option was changed on that menu. [05-Aug-2004]

[1.20] Added groups to the flash to find menu. [25-Feb-2004]

[1.20] Added a groups to the override menu.  Includes the groups current level.
Note that NULL is displayed for the level if the group level is not valid.  A
group level is not valid if the levels are not all the same value, not a valid
preset, preset levels don't match, and not a valid group.  Since the preset
level is not associated with a switch or button, it may not truely reflect the
status indication when display on a station with an OFF type button, or when
room assigned. [25-Feb-2004]

[1.20] Corrected some help text on the serial console. [25-Feb-2004]

[1.20] Changed station buttons that control normal groups and partitions, which
are not presets, to indicate reverse polarity when the button type OFF is
programmed (ie ON when OFF, OFF when not OFF). [23-Feb-2004]

[1.20] Added group number to the partition diagnostics on the serial console.
[20-Feb-2004]

[1.20] Added station button and channel level indication for partitions.
[20-Feb-2004]

[1.20] Added a partition diagnostic screen to the keypad menu under
DISPLAY-INPUTS.  Also allowed SWITCH and ANALOG sub menus for BP-MLC build in
preperation for the input module. [20-Feb-2004]

[1.20] Corrected the number of group partitions to match the max partitions in
the room assignment module.  Was 4, is now 10.  Tested and functional.
[20-Feb-2004]

[1.19] Corrected the schedule warn and timeout to off. [19-Feb-2004]

[1.18] Corrected Master Lower control station button types to lower
instead of raise. [21-Oct-2003]

[1.17] Added a space after the PRESET number when presets are printed
to separate it from the fadetime.  It was causing a problem in the
config tool. [10-Oct-2003]

[1.16] Changed schedule so that setting the time of an event disables
the event in the queue. It will be re-enabled if it is valid when
restart schedule is called when leaving a menu or at the end of the
serial console save.[02-Sep-2003]

[1.16] Corrected external modem connect problem by:
Added a 1 second delay before answering.
Always sending a +++ when resetting.
Increasing the wait for ATZ to complete from 2 to 5 seconds.[02-Sep-2003]

[1.16] Added mutual exclusion on the data used for automode and levels
to prevent race conditions caused by task preemption.[29-Aug-2003]

[1.16] Corrected RampUp/RampDown of same group with different buttons.
Corrected the preset save to light up all same preset in same
room.[26-Aug-2003]

[1.16] Added commands to the serial console:
partition, partitions - display and get/set partitions
Added hidden commands to the serial console:
suspend, resume - used to stop and start a task.
priority - used to change task priority
??? - hidden command listing

[1.16] Added checks for valid date, time, and day of week so that
anything setting the time or date will be checked for validity
first.[26-Aug-2003]

[1.16] Changed loose value to centrally located constant for parition
open and close value. Added a test for valid partition number. Now
using constants for partition open and close value. [26-Aug-2003]

[1.16] Corrected Sunrise/Sunset min/max to 60 Minutes settable through
the keypad console.[26-Aug-2003]

[1.16] Added function for testing a valid time or day of
week.[26-Aug-2003]

[1.16] Removed the 2 hour default switch timeout since it was causing
more problems on installation than it was solving.[22-Aug-2003]

[1.16] Converted RTCMOS file to use standard RTClock file from MLC and
Gateway projects. Removed localtime() calls from xymodem since this was
causing a crash during download. Cleaned up references to RTCMOS and
converted to RTClock.[18-Aug-2003]

[1.16] Added missing usage option. [18-Aug-2003]

[1.15] Changed Alternate action buttons such that they use the master station
button level when room assigned instead of each button of each station in the
assigned room.

[1.14] Removed the file close when remove zero cross interrupt is called,
since this happens during powerup if the interrupt is different, and that
will cause the file inits to fail.  Changed the zero cross interrupt
configuration change time from 500ms to 125ms.

[1.14] Corrected serial console dump command to display the file offset
position.

[1.14] Changed the zero cross warning on the keypad display to go away
if zero cross re-appears.


[1.13] Corrected the saving of the level, which caused control
station button levels to blink off after they were turned on.

[1.13] Modified the group default map to clear groups for controllable
breaker product build.

[1.13]  Added mapping for digital switch external outputs for
controllable breakers (31-42).

[1.12] Added in the diagnostic for received messages, so now we can see
the sent and received messages.

[1.12] Corrected schedule blink warn when global warn is zero.

[1.12] Changed the zero cross power fail detection scheme such that
when power fail is detected, files are closed and a message is
displayed on the keypad until power returns.

[1.11] Added default programming for EXT stations so that the outputs
will ramp correctly.

[1.11] Corrected the fail-message reset feature such that the device
that goes off the ACCESS.bus will not get continuous reset requests.

[1.11] Added inteliswitch output type.

[1.10] Made some menu changes for the controllable breaker build, which
won't be seen in standard MLC build.  Changed output types for
controllable breaker product build.

[1.09] Added ability to change the terminal priority so that it can
run even if another task quits.  This is done through the command
line arguments.

[1.09] Rolled back to previous version of the ACCESS.bus driver
because we have had some lockups with this newer version.

[1.08] Added support for protocol synergy_i_o to handle type breaker
card.

[1.08] Added support for Controllable breaker build.  Converted output
stuff from bit to output indices.

[1.08] Changed keypad display:
Added "min." to timeout display.
Added "%" to low/high setpoint value.
Added "%" to display of analog inputs.

[1.07] Corrected the semantics for the schedule blockout
pass-through in the station code.

[1.07] Added ability for controllable breaker build to use
IRQ 12,15, or 7 for zero cross detection.

[1.07] Corrected station update loop so it only does one
station if the room list is empty.

[1.07] Changed the polling of stations to not use timer tick dependent
functions. Got the polling such that:
1. High priority task
2. syncs to tick (8.33mS) for polling cycle
3. using polling of chars to get the chars
4. no tramping on stations reply
5. little or no errors at stations

[1.07] Moved station level update to a task in the station
module.  Now we just set a flag that will trigger the level
update.   Changed preset level determination to include on, off,
alternate, and maintained type of buttons.  Corrected the update
level algorithm to update all levels of all groups. Changed LED
update to turn off button types OFF and DISABLED when updated.  This
does not affect buttons controlling presets. Removed station
update function from the group module and created a get group
levels function for the station module to use.  This should speed
things up quite a bit since we are only iterating through the groups
once instead of each time for each station. Added back in the check
for online devices since group level will give the wrong result if
you don't.  Streamlined the update of the indicator LEDs so we are
doing far less looping and far more constructive work.
Corrected preset updates of room assigned stations.
Added station level update to places where its dependencies matter:
group update, and station update.

[1.07]   Turned on preemptive multitasking for the DOS build.
Now it should behave the same as the RTOS-32 build.   Added
interrupt disk I/O.

[1.07]  Changed the xymodem get command to act better on RTK32 builds.
Added a polling of com port mechanism when built for RTK32.  This
change makes downloads get zero errors - how sweet!

[1.07]  Refactored the Data command of the serial console.
Changed group bit maps to be able to handle breakers.

[1.07]  Increased the interrupt timer timeout time due to DOS
disabling interrupts during disk operations for the zero cross
interrupt.  It is now 125mS instead of 25mS.


[1.06] Streamlined the ACCESS.bus transmit task. Added a chip
reset function. Changed the cleanup routine so that the interrupt
controller is turned off first.  This should keep us from getting
unexpected interrupts on exit.

[1.06] Added stuff to support a terminal only build used for
testing COM ports. Changed keyboard polling to be more responsive.
Changed waits to use common wait macro. Added INPORT, OUTPORT, and
ABUS commands to the serial console.

[1.06] Internal changes to support controllable breaker using
a common code base. Changed relay specific to generic output,
and handled cases of no switch or analog inputs. Added extended
ACCESS.bus message opcodes containing 0-255 device support.
Added methods for extended I/O numbers ACCESS.bus opcodes.
Changed modules to handle larger output count.   Made the device
table more robust. Removed unused code.

[1.05] Changed scheduled events to use the programmed warn time,
and not the global warn time.  Changed schedule warn in schedule
console command to show minutes, not just WARN.

[1.05] Corrected station defaults created on boot of new
controller.

[1.05] Added automatic removal of a:\util\dsz.txt if it
exists since it is 161Kb in size and the flash disk is
short on space.


[1.04] Changed the functionality of the MASTER ON button (hardware
preset on sequel stations).  It now sets all the channels on the
station to LEVEL_ON.

[1.03] Added function to get the requested fadetime.
Added init for fadetime on power up.  Changed the SYRS serial
console command to display the fade time, not the fade level.

[1.02] Corrected phantom button presses by clearing
the buttons (and their displays) when the station
returns to an online state.

[1.02] Corrected the display of selected channels when
the SELECT button is pressed and presets are already pressed.

[1.04] Changed most of the MOD: to MODULE: (except the DISPLAY menus).

[1.01] Added a 0.5 second delay when starting the download
from a PC to avoid the 10 second penalty for automated
download tools (config).

[1.01] Increased the offset time for scheduled dawn or dusk
events from +/-30 minutes to +/-60 minutes with 15 minute
increments.  This only affects the keypad menu.

[1.01] Changed the way presets work when a non-on level
triggers the preset.  OFF events will turn off members
of the preset.  All others will activate the preset,
and the members will go to their preset level at the
preset fade time.  Note that the preset fade time will
apply to the OFF commands.


** Version 1.00 **

  Added room assignment.

  Added station type.

  Added channels.

  Added STA: and MOD: to menus to simplify the hotel numbering scheme,
  and removed hotel number scheme.

  Added additional re-init menus for clearing defaults, schedules and
  stations.

  Added default station groups.

  Added the mapping of station outputs to the 8 outputs on module 6.

  Added station, stations and rooms commands to serial console.

  Added a DEV command to display the cards/modules status to the serial
  console.

  Added blink to digital switch external outputs.

  Added preset update after group set.

  Added a station message diagnostic buffer viewable through A4 command
  from the serial console.

  Added group update to station after a startup delay to allow cards to
  be online.  This updates the station bargraphs.

  Added baud rate command line option.

  Added timeout and priority to preset groups.

  Added station update code to fire after relay(s) timeout, which
  should update the station bar graph.  Oooh.  Aaah.

  Added online indication to input and output status and override menu
  displays.

  Added ESC key to bring back last command for the serial console.

  Added a 2 hour timeout to all the switches as the default
  configuration.

  Added distinction between dimmer and relay cards when sending config
  data for momentary relay type timeout and high and low setpoints.
  Added workaround for relay cards programmed with a dimmer type, which
  disables the cards with older firmware.

  Added online indication to input and output status and override menu
  displays.

  Added fake ESC key press that is sent to the keypad when the date
  changes (midnight) to return indefinite menus to the root menu.

  Added date checking to the set holiday date, and also allow 0-0-0
  date for removing a holiday.

  Changed NORMAL type to NON-DIM-RELAY and INVERTED type to RELAY(N.C.)
  Changed the name of a button type from MAINTAIN to MAINTAINED.

  Added a polling disabler for the station polling task to disable when
  xymodem is active.  Helps FIFO problems.
  Added priority boost to xymodem transfer (GET).

  Changed presets and channel display to station display.

  Changed group numbers of the default schedules to 99,98,97, formerly
  1,2,3.

  Changed programming schedule events to show level as ON, OFF, WARN
  OFF.

  Changed default scheduling

  Changed default Analog Inputs

  Increased time on no byte ack error in ACCESS.bus driver.

  Changed slow CPU timer tick from 10000 to 8333 to mimic MLS/MLX and
  get more compatibility from remote digital switch.

  Now passing timeout and priority through channels and preset such
  that any input (switch,button,channel) with a timeout will function
  as thus.

  Added priority boost to xymodem transfer (GET).

  Added some code to handle IRQ 12/15 for RTB files.  Works on IRQ15 on
  WinSys 586 controllers, and on IRQ12 on Ampro 386 controllers.

  Added a flag that gets sent with each schedule event.  This allows us
  to know in a group when a schedule has sent the group command and we
  can set a relay-schedule flag, which allows us to ignore timeouts
  when switches are pressed.  Changed group set level to use schedule
  flag instead of priority when determining when to allow a schedule to
  override a timeout.  Changed timeout command on the serial console to
  display schedule flag with timeout info.  Changed presets to use
  schedule flag rather than a priority.  This allows us to know in a
  group when a schedule has sent the preset command and we can set a
  relay-schedule flag, which allows us to ignore timeouts when switches
  are pressed and a schedule is active.

  In the serial console, moved STATION in the Data Command in front of
  BUTTON or CHANNEL, since STATION will initialize the station buttons
  and channels to defaults, and if we play back the DATA, we want the
  buttons and channels preserved.

  Changed default name from Synergy Light (great name) to Synergy MLC
  (sucky name).  Oh well...

  Added timeout to channel in the serial console.

  Corrected default Analog offset.

  Completed control station and room assignment.  Corrected the preset
  indication routine.  Corrected errors with presets.

  Corrected Keypad reset bug caused by 15 second sleep preventing
  presence checks.

  Changed x-modem and y-modem module to correct upload and download
  problems, including long filename support.

  Increased stack size to keep from crashing.

  Added card recognition in the cabability section, and added a table
  to store the data.  Added distinction between dimmer and relay cards
  when sending config data for momentary relay type timeout and high
  and low setpoints.  Added workaround for relay cards programmed with
  a dimmer type, which disables the outputs with older firmware.

  ** Version 0.28 **

  Disabled the default power down data save, so that it does not save
  data on powerdown by default.  Trying to save the data took too long
  (> 500mS) and caused file corruption.  The 2 features affected by this
  were the switch/relay timeout and the control station default levels.
  These can be enabled from the command line using the -p option.

  Added station command to show station stats.

  Increased priority around the serial console "test" function to
  simulate the power down data save time duration.

  Added delay between successive port commands when lost arbitration
  occurs in the ACCESS.bus module.

  ** Version 0.27 **

  Added FIFO command to check if FIFO is present

  Added "END OF DATA" to DataCommand for easier parsing

  Added keypad screen display on exit.

  Added menu change after re-init.

  Added group preset update to control stations.

  Added setting up stations in place of setting up holidays.

  Added preset groups (100+).

  Added relay setpoints for dimmers and threshold.

  Added back in the dimmer stuff.

  Added master button types (ON,OFF,RAISE,LOWER).

  In the XYModem routines, added delays before ACK for slow hosts.
  Added flush before ACK/NAK to clear out noise.   Changed the
  filename parser to handle long filenames (truncates them) and
  names with white space (space is removed).

  Changed RelayCommand to OutputCommand because that is what it is.

  Increased schedules from 96 to 99.  Added schedule type MON-SUN.
  Moved holidays under schedules, and added events under schedules.
  Increased group numbers to 99.  Added group presets from 100-199,
  and group partitions from 200-255.

  Added flush and close all to power down, and exit to make file
  system less corruptable.

  Added check/set in the ISR that will make sure the time goes forward
  to 2am after going from 1:59:59 to 1:00:00 once for daylight savings
  on the last Sunday in October.  Appears to be a problem with the Odin
  Real Time Clock chip on the TS-2100 board.  Corrected DayOfWeek
  initialization.  Moved the init around since the clock wasn't working
  and there seemed to be alot of duplicate code.

  In the serial console, fixed a problem with the location in the datacommand.
  A comma was not being sent between the city and state.  It would not accept
  cities with spaces.  City and state are now separated by a comma.

  From the terminal interface the password command did not work
  correctly.  In the for loop, the string was formatted but never printed.  I
  added the HostWrite statement.
  The password command did function as I thought it should:
  "Password " - gave the help
  "Password ?" - gave the passwords
  I switched the two.

  Replaced the spaces with dashes for any Button Types that had
  spaces.  This was causing a problem from the terminal interface.

  Corrected station preset.

  ** Version 0.19 **

  Added controller name to data storage and display it on first menu.
  Type ?  to see a complete list of command at the prompt.

  The RS-232 console does not yet support remote programming with a
  configuration tool, although most of the commands have been
  implemented.

  Added timeout to buttons.  Added switch timeouts.  Added timeout
  command, and added timeout value to switches.

  Reversed arrow key operation on display menus.

  Power down was not saving control station levels because it took too
  long.  Moved saved levels out of the data file, and into its own
  file, and now only save levels on powerfail.

  ** Version 0.18 **

  Added additional commands to the serial console to support the config
  tool.  Type ?  to see a complete list of command at the prompt.

  Changed display of month from 1 digit to 02 digits.

  Added scheduler restart when time is changed.

  Changed Relay Timeout from 8-bit to 16-bit to truly be minutes after
  midnight.  This was causing warn off to malfunction.

  Changed IF statement structure so that schedule will restart when
  schedule events are modified.

  Changed schedule events menu data structures to use schedule API
  instead of pointers.

  ** Version 0.16 **

  The first software release for the MLC controller.

******* END *******

