ADX Firmware Version History
--------------------------------------------------------------------------------

Firmware Update Procesure, Version 1.2.0:
-----------------------------------------
1. Place adx_v???.s19 file on a USB drive.
2. Insert the USB drive in the back panel of the unit.
3. Use the menu key to display the on screen menu, and select the firmware update
   menu item.
4. Follow the on screen menus to select the adx_v???.s19 firmware file.
5. After a short delay, the unit will reboot itself, and perform the firmware 
   update.
6. Once the update has completed, press the knob to automatically reboot the 
   system and enter the new firmware.

Firmware Update Procedure, Version 1.0.1b or previous:
------------------------------------------------------
1. Place adx_v???.s19 file on a USB drive.
2. Insert USB drive in the back panel of the unit. Cycle power on the ADX.
3. While the front panel is displaying 'Push knob for firmware update' as the 
   unit boots, press the front panel knob.
4. Follow the on screen prompts to update the system card firmware and reboot
   the unit.

Full Version 1.3.0 - 9/7/2011
-----------------------------
1. Added a serial command [QEO%d] to query the ZQ eq band settings for a zone. Note
   that the values will be returned regardless of the DSP mode; for instance, if the
   zone is in TONE or FLAT mode, the ZQ bands could be set to any value as they are
   not currently being used.
2. Removed the storage_task, which auto-saved the state of the system. This is now
   done inside the main queue task, which will free some memory and also force
   the save to only occur while the queue is not busy.
3. Fixed a menu issue where the selection screen would not update to show a new
   source selection unless the cursor was on the top line.
4. Fixed an issue whereby front panel IR lock would not lock upon reboot.
5. Made the default setting for IR lock to be on (front panel IR disabled).
6. Increased the stack size of the watchdog and main tasks. This helps to prevent
   some lock up issues while using the iPad control app.

Full Version 1.2.0 - 7/8/2011
-----------------------------
1. Changed the balance commands to be [bo###l##] and [bo###r##] to make them more
   intuitive. To set the balance of output 1 to the right 3 dB, use [bo1r3].
   Either [bo###l0] or [bo###r0] will center the balance.
2. Changed the balance menu to reflect the above.
3. Changed the group menu so that the source selection starts on the source that
   most of the members currently have selected. If they have not all selected the
   same source, the source number line is augmented with an asterisk.
4. Changed the firmware update process; now, in the menu, once the firmware 
   update is selected the unit reboots automatically and updates the system. 
   Makes the process more of a single step. Requires the new version of the
   bootloader to work.
5. Changed the menu graphic equalizer adjustment screen to make adjusting
   the levels a more stream-lined process.
6. Changed the front panel IR lock control to be more obvious as to what you are
   adjusting; rather than turning the lock on or off, now the IR is enabled or
   disabled.
7. The telnet server has been rewritten to allow for multiple client connections;
   previously, it was limited to 1. Now 2 clients can be connected at the
   same time. Note that individual client connections have a time out of 15
   minutes; if a client crashes and does not close the connection properly
   (sending an EOF) that connection will remain busy until it times out.
8. Changed the firmware version screen to make it more clear what was being
   displayed.
9. Added serial command [vxr##] to set the volume of all volume adjustable zones
   at once. This command is also now accessible from the front panel volume
   adjustment screen by selecting the 'all zone' selection in between the final
   and first adjustable zones.
10. Adjusted the delays between checking for received serial and telnet data;
    a relatively long delay (200 ms) is used continually; once data has been 
    received, the delay is shortened (1 ms) for a period of time (100 ms) to help
    handle large amounts of commands sent from non-human sources.
11. Changed the way the DSP frequency response characteristics are handled.
    Previously, the tone and EQ could be used at the same time. Now, each zone has
    a DSP mode setting - disabled, tone, ZQ, and preset. The disabled mode
    turns off the EQ and tone controls. Tone mode allows the bass and tone levels
    to be set. Zq mode allows setting specific eq bands (no tone control). Preset
    mode allows the selection of one of ten presets, which can be named, and set
    up for quick access. Note that EQ presets are not designed to be adjusted on
    the fly due to logistics issues, so if you adjust a preset while a zone has
    selected it, you will need to select another preset and then return to the
    changed preset to hear the difference.
12. Added serial command [EO###M#] to set the DSP mode of a particular zone. Modes
    are as follows:
    0 - EQ/Tone disabled (set flat)
    1 - ZQ mode. Custom 10 band equalizer, with setting saved per zone.
    2 - Preset mode. Choose one of 10 preset 10-band equalizer settings.
    3 - Tone mode. Adjust bass or treble alone, 10-band eq disabled (flat).
13. Added serial command [EO###P#] to set the EQ preset of a zone.
14. Added serial command [EP##B##L##] to set an EP preset band level.
15. Added serial command [NEP##"@@@@@@@@@@@@@@@@"] to name an EQ preset.
16. Added serial command [QEP##] to query an EQ preset.
17. Redesigned menus for a more consistent feel.
18. DHCP and IP address settings now cannot be changed while a telnet client is
    connected.
19. The favorites menu now details the number of members for each group.
20. Added serial command [QVO###] to query the output volume of a particular
    zone.
21. Added serial command [QVMO###] to query the mute status of a zone.
22. Added serial command [QCO###] to query the connected source of a zone.
23. Changed the default serial baud rate to 115200 baud.
24. Added serial command [BO###LU] and [BO###RU] to adjust the balance to the left
    or right one increment.
25. Added serial command [EO###B##U] and [EO###B##D] to adjust the level of an
    EQ band in ZQ mode one increment up or down.
26. Added serial command [EP##B##U] and [EP##B##D] to adjust the level of an
    EQ preset in preset mode one increment up or down.
27. Added serial command [EO###STP##] to save the current ZQ 10 band settings of
    a zone into an EQ preset. This makes creating a preset easier, because you 
    can adjust the zone's EQ on the fly, and then save it to the preset.
28. Added serial command [To###BD], [TO###BU], [TO###TU], [TO###TD] to adjust the
    bass and treble tone controls one increment up or down in tone mode.

Bootloader Version 1.2.0 - 7/8/2011
-----------------------------------
1. Added the ability for the bootloader to check if it should automatically jump
   into the main code, firmware update automatically, or wait for file selection
   in other cases. It also detects if the knob is held down on POR for emergency
   purposes so that firmware can be reloaded if the main code is damaged.

Full Version 1.0.1b - 4/15/2011
--------------------------------------------------------------------------------
1. Added volume up [vo##u], volume down [vo##d], and mute toggle [vmto##] to the 
   serial command set.
2. Added serial output (ADX STATE SET) when the state is implemented on boot.
3. Added IR Lock menu item to allow the front panel IR to be locked out without 
   using a serial command.
4. Corrected an error in generating the graphic equalizer digital filter 
   coefficients which resulted in a larger filter Q.
5. Sped up the import file procedure.
6. Added front panel wake up on receipt of front panel IR.
7. Addressed an issue with front panel encoder and keyboard lock ups during
   'extreme' usage (pressing all at once very fast).
8. Implemented a software watchdog to address the backup watchdog lockup issues;
   removed the backup watchdog in cases where the bootloader is not version
   1.0.0.

Bootloader Version 1.0.1 - 4/15/2011
--------------------------------------------------------------------------------
Note that the bootloader is not field upgradeable.
1. Removed the backup watchdog.

Full Version 1.0.0 - 2/9/2011
--------------------------------------------------------------------------------
1. Initial release of 1.0.0 for the main card firmware and the bootloader.