________________________________________________________

KP 32 CLD / EKP 32 CLD / DKP 16 CLD Motherboard Firmware
________________________________________________________

These are the release notes for the KP 32 CLD (2RU keypanel) firmware.

The same firmware image is also used for the DKP 16 CLD (desktop keypanel), 
and for the EKP 32 CLD (2RU expansion panel).

________________________________________

Relocator, Boot Loader, and Client Image
________________________________________

The firmware consists of two types of image files:

  - The kp32-cld.hex file is used when downloading the keypanel from AZedit

  - The kp32-cld.flash file is used when programming with a device programmer

The firmware is structured in three parts: The Relocator, the Boot Loader, and
the Client Image.  The Relocator occupies the first flash sector, followed by 
the Boot Loader, and the Client Image.  The .hex file contains only the Client 
Image, while the .flash file contains all three parts.

On power-up, the Relocator checks for a valid Client Image. If present,
control is passed to it; otherwise control is passed to the Boot Loader.  The
Boot Loader is only ever invoked automatically if the Client Image is corrupt
or not present.

When upgrading the keypanel firmware, you will typically only ever need to 
download the new Client Image (.hex) file from AZedit.	While a new Client
Image is being downloaded, a Firmware Download icon is displayed, and the
keypanel remains fully functional.  Only after the complete new image has been
received and validated does the keypanel reprogram the flash and restart.

You can force the keypanel into the Boot Loader by pressing the recessed
pushbutton (labelled BLR) on the back of the keypanel while it is being powered 
on. This causes the Relocator to ignore the Client Image (even if valid) and 
pass control directly to the Boot Loader.

While in the Boot Loader, the panel will display a message that it needs a 
download. The panel will communicate with the matrix, and will accept downloads; 
nothing else will work. There will be no audio; the talk and listen keys, 
the keypad, and the shaft encoders will all be non-functional.

You can download a new Boot Loader image (boot_ldr.hex file) while the 
keypanel is running the existing Boot Loader.  Once the download has begun, you 
must press and hold the BLR button as the first downloaded Chunk reaches 100%.  
If the download continues on to the second Chunk, the keypanel has recognized 
your request to download a new Boot Loader image.

You can also enable downloading of a new Boot Loader image while the keypanel 
is running the Client Image.  Press and hold both shaft encoders, then
enter the Menus by pressing the Menu key, and then release the shaft encoders.  
The Service menu will now have a new menu item called Boot Code.  This menu 
shows the current Boot Loader version, and offers a checkable menu item called 
Allow Download.  Check this option and you can then download a new Boot Loader 
image from AZedit without having to press the BLR button.

If an EKP 32 CLD is connected, and it contains a different Client Image than
the KP 32 CLD, then the KP 32 CLD's Client Image is automatically transferred 
to the EKP. The EKP will display a Firmware Download icon, but will otherwise 
remain fully functional.  The transfer takes a couple of minutes, after which 
the EKP will reprogram its flash and restart.

A new Boot Loader is also transferred from the KP 32 CLD to the EKP 32 CLD
automatically, if necessary. 

If an EKP ends up with a Client Image that is corrupt or not present, it will
enter the Boot Loader, which behaves the same as on the KP 32 CLD, except that
it expects to communicate with a KP 32 CLD, and not the matrix.
							       
___________________

Saved Configuration
___________________

The keypanel saves various settings to configuration flash. On start-up, it 
looks for a valid configuration; if it finds one, it uses this to determine the 
initial configuration. If there is no (valid) saved configuration, it starts up 
with the factory default configuration.

The current configuration is only written to flash when the menu
item Save Config is selected.

The keypanel can be restored to the factory default configuration by selecting
Reset Config from the Service menu.

______________

Change History
______________


Version 1.7.4 (CRC=0xae99)
==========================

* Various improvements and bug fixes

  - After Reset Config, headset and headset mic might not be detected properly
    (until headset removed and re-inserted or panel restarted)
  - Downloading new boot loader image did not work for RP-1932
  - Downloading fonts did not work if boot loader download enabled via menu
  - Improved display update response time when keys pressed
  - LCP adjustment of front headset volume only adjusted left channel
    (plus right channel of rear speaker, instead of right channel of front headset)


Version 1.7.3 (CRC=0x1c31)
==========================

* Various improvements and bug fixes

  - Display of key volumes did not work when operating in Unicode mode and using 
    new keypanel protocol with systems (intercom and I/O cards) supporting 
    trunking of more than 31 intercoms.  Fixed.

  - With Japanese intercoms, lowest crosspoint volume should be displayed as 
    "-21dB" not "Mute". Fixed.

  - On the DKP 16 CLD, in Unicode Mode, choosing to enable the DSP Metering display
    before the keypanel was communicating with a matrix could cause the panel to 
    reboot.  Fixed.


Version 1.7.2 (CRC=0xc85e)
==========================

* New Footswitch option

  A new option for Footswitch operation has been added that causes talk keys 
  latched for footswitch operation to be unlatched when the footswitch is released.
  To enable this mode, use the Service | Footswitch | Latched Keys menu.  The
  options are "Retain" (talk keys stay latched for footswitch operation, which is 
  the default mode) and "Unlatch" (which causes talk keys latched for footswitch
  operation to become unlatched when the footswitch is released).

* New Local GPIO Input option

  A new option for Local GPIO Inputs has been added that causes the local GPIO
  input state to track the corresponding local GPIO output state.  This option
  can be enbled independently for each local GPIO input by using the Service |
  Local GPIO | GPIO Inputs | Mode menu.  The options are "Normal" (the local GPIO
  input state reflects the actual state of the opto input, which is the default 
  mode) and "Track Output" (which causes the keypanel to report the local GPIO 
  output state as the local GPIO input state for the selected input, instead of
  reporting the actual state of the opto input).

  This feature allows GPIO Outputs to control Talk Key or Key Group activation.

* New Local GPIO Input Key Group mode

  A new mode for Key Groups triggered by local GPIO inputs has been added that
  causes the keys in the key group to be toggled on or off on the GPIO input 
  state transition (Edge) instead of being held on or off by the GPIO input
  state (Level).  This option can be enabled indpendently for each Key Group
  on each local GPIO input by using the Service | Local GPIO | GPIO Inputs |
  Key Group | <Group #> | menu.  The options are "Level" (the default), or
  "Edge". Selecting either mode then prompts to "Save and Restart" or "Cancel".
  Changing modes requires a reboot of the keypanel.

* Various improvements and bug fixes:

  - It was possible to see display artifacts when drawing and erasing icons. Fixed.

  - For AL and AM listen assignments, listen key state should only show as on 
    if talk key is actually on (not just in the footswitch ready state).  Fixed.

  - When Panel Swap was enabled, the Virtual EKPs reported their type as 
    RP-1932 instead of EKP 32 CLD.  Fixed.

  - Serial communcations could be disrupted while writing to flash.  Fixed.

  - Further improved serial communications with Option Card (RVON or OMNEO).


Version 1.7.1 (CRC=0x5e92)
==========================

* Support for RP-1932 expansion panels

  Supports RP-1932 expansion panels mixed in any combination with EKP 32 CLD 
  expansion panels, including support for downloading new firmware and fonts.

  The KP 32 CLD will accept RP-19xx firmware or fonts for download, and will 
  simply pass the file on to the RP-1932 expansion panels as necessary. 

* Varioius improvements and bug fixes:

  - Added icon to warn when the flash is being reprogrammed ("DO NOT POWER OFF").

  - Improved download progress indication is now more accurate for boot loader and fonts

  - Fix for rare case where the panel could boot up with an LCD display upside down

  - Fixed: Disabling the front or rear speaker muted the speaker (even if other sources
    were mixed to the speaker).


Version 1.7.0 (CRC=0x0dbe)
==========================

* Support for trunking of up to 255 intercoms. 
  (Requires a TM-10K Trunk Master, plus intercom and I/O card firmware support).

* Support for new keypanel protocol (which can cut firmware download times in half).  
  (Also requires intercom and I/O card firmware support).


Version 1.6.2 (CRC=0x59d3)
==========================

* Various improvements and bug fixes:

  - Page changes via keypad programming sequences (rather than via GUI) did not
    observe the new Page Change menu mode selection introduced in V1.6.1.

  - OMNEO device name length is now limited to 31 characters


Version 1.6.1 (CRC=0x7f40)
==========================

* Many new minor features and improvements

  Several new or improved features have been added, including:

  - Talk and listen indicator bars are now taller, in 4-character mode, 
    to provide more visibility.

  - New Key Options menu item "Turn Off" allows you to turn off all keys, all
    talk keys, or all listen keys. You can use the new "Turn Off" menu with 
    the programmable UPG keys to create a UPG key that can turn off all keys
    with a single button press. You can also require a confirmation before 
    turning off any keys.

  - New Service menu item "Page Change" allows you to select whether setup
    page changes are allowed if any talk keys are on.  The default is to allow
    setup page changes, even if talk keys are on, while in English mode, but 
    not in Japanese mode (mirroring existing operation).  This menu lets you
    change the default operation.

  - New menu item "Volume Control" in the Audio Options | Headset Spkr and 
    Speaker menus allows you to select whether the Main shaft encoder controls
    the volume for Front and Rear channels indepently or both simultaneously
    in "ganged" mode. This is similar to how Aux Inputs can be "ganged" via
    the Service menu.

  - When a shaft encoder is controlling the volume for a "ganged" channel pair
    (such as Both front and rear speakers, or Aux input channels 1 and 2), and
    the volumes for the channel pair are not identical, the panel now displays
    both volumes using a split volume bar.  Front is always first (on top) and 
    Rear is second (on bottom).
 
  - New Service menu item "Ganged Vols" allows you to select what happens when
    adjusting the volume for a ganged channel pair when the volumes are not
    identical and one of the volumes reaches the minimum or maximum volume.

    In "Disappearing" mode, you can continue to adjust the volumes such that
    the volume at the limit does not change, but the other volume continues to
    be adjusted (until the difference or offset between the volumes disappears).

    In "Fixed Offset" mode, when one of the volumes reaches a limit, you are 
    prevented from adjusting the other volume in the same direction (maintaining
    the difference or offset between the two volumes).

  - Fix: The option to allow mode selection (Always On, Disabled, Switched) 
    independently for left and right channels of the front and rear headsets, 
    and rear speaker, introduced in V1.6.0 did not work correctly.


Version 1.6.0 (CRC=0xbec8)
==========================

* Added support for OMNEO devices

  Support for an OKI-2 option card is similar to support for the RVON-2, 
  with the following differences:

  - The top-level menu is "OMNEO Offers"
  - The service-level menu is "OMNEO Setup"
  - The OKI-2 device name can be configured
  - The OKI-2 can be configured to use DHCP, 
    or it can be assigned a static IP address
  - Tthe following additional parameters can be configured:
    - DNS server (2 IP addresses)
    - DNS search domain
  - If configured for DHCP, then the IP parameters can be viewed 
    but not modified.

* The OKI-2 Device name, or RVON-2 IP address, is displayed when the panel 
  is not communicating with the intercom.

  If the keypanel has an OKI-2 option card installed, but the keypanel is 
  not talking to an intercom, the OKI-2's Device Name is shown in the icon 
  indicating that the keypanel is disconnected. 

  If the keypanel has an RVON-2 option card installed, but the keypanel is 
  not talking to an intercom, the RVON-1's IP address is shown in the icon 
  indicating that the keypanel is disconnected.

* Various improvements and bug fixes

  - Improved serial communications (better handling of framing and overun errors).

  - Added additional chime duration options (1-4 seconds).

  - Allow mode selection (Always On, Disabled, Switched) independently for left
    and right channels of the front and rear headsets, and rear speaker.

  - If an option card is installed, but is unable to communicate with the keypanel,
    the keypanel will automatically select the AIO interface after 30 seconds.


Version 1.5.3 (CRC=0xa033)
==========================

* Support for alternate TFT display module

  Automatically detect display module type and adjust timing parameters at run-time.

* Improved ESD response and recovery

  Monitor DSP code for lock-up condition caused by Electro-Static Discharge events
  and re-initialize the DSP if necessary.  This minimizes the impact of ESD events
  on the assembly, expidites product recovery, and allows compliance with industry
  standards for immunity required for agency compliance.
  

Version 1.5.1 (CRC=0xa4bc)
==========================

* Various improvements and bug fixes

  Don't allow setup page change if a talk key is active (Japanese mode only).
  Switch to headset mode at power up if auto-detect enabled and headset present.
  Fixed graphical setup page tab alignment to key backgrounds.
  New footswitch icon to more closely resemble actual footswitch.


Version 1.5.0 (CRC=0xe611)
==========================

* Merge English and Japanese features sets

  English mode now includes new features:
  - New key option "Button Lock" allows forcing keys to be always on or off
  - Modified key option "Latching" allows disabling latching for individual keys
  - Added 5 and 10 second tally duration options
  

  Japanese mode now includes new features:
  - Allows choice of Classic or Default keypad sequences
  - Enables graphical setup page changing mode
  - TIF menu now includes a Hang-up option
  - Keypanel now remains in menu mode after TIF dialing

  A new menu item, Service | Keypad | SEL Key, allows you to choose whether the 
  SEL key is used for Assignment Groups or Quick Assign.  The default setting
  is "Auto" which sets the SEL key to Assignment Groups in English mode and 
  Quick Assign in Japanese mode.

* Support for virtual EKPs with Panel Swap

  You can now enable virtual EKP panels, and swap those key assignments onto the
  Main panel with a single button press.  Keys on virtual EKPs can remain on
  even when not dislayed (they can also be forced off when swapped out).

  Please see the Panel Swap documentation for more details on how to enable and
  configure this feature.

* Support for new mic preamp output mode

  A new "Invert" mic preamp output mode has been added.  The "Invert" mode has
  the mic preamp output in the opposite state to the "Switched" mode.  That is,
  in "Invert" mode, the mic preamp output is active when the main output is 
  inactive, and vice versa.

* Various improvements and bug fixes

  Adjusting LCD brightness on DKP 16 CLD did not work in V1.4.0.
  Keypanel now uses larger firmware download messages.
  Adjusting volume for keys with the same assignment now shows correct volume.
 

Version 1.4.0 (CRC=0xdc3a)
==========================

* Support for up to 3 EKPS (and up to 128 keys)

  The KP 32 CLD can now support up to 3 EKPS (128 keys in total) when the
  I/O card and intercom also offer this support.  This feature requires
  MCII-e V2.6.0 with AIO-8 V10.6.0 or AIO-16 V1.4.0, or RVON V2.3.0.  It also
  works with Zeus-III V1.5.0 and Cronus V2.0.0.

* Note: Saved configuration reset to defaults on upgrade from V1.3.2 or earlier

  The addition of support for up to 128 keys increases the size of the 
  persistent settings stored in the configuration flash and has required a 
  re-organization of the flash storage area. This means that, when upgrading to 
  this version from a previous version, the old configuration stored in flash 
  cannot be loaded, and the keypanel will revert to its default settings.

		       
Version 1.3.2 (CRC=0xb679)
==========================

* DKP 16 CLD headset type and presence detection fixed

  The DKP 16 CLD headset type and presence detection was reversed for left
  and right headset connectors.  (ie. plugging a headset into the left 
  connector would be detected as the right headset).

  In combination with the new Headset mic "Auto-Mute" feature, this meant that
  the wrong headset mic would be muted when plugging in a headset. (ie. it
  muted the newly connected headset mic, not the other unconnected input).


Version 1.3.1 (CRC=0xe9f6)
==========================

* Front panel USB connector power enabled

  Power is now enabled to the front panel USB connector.

* Support for Headset mic "Auto-Mute"

  By default, if no headset is detected, the headset mic input is now muted
  to avoid introducing noise to the system.  This feature can be disabled via
  the Audio Options | Headset Mic | <mic location> | Auto-Mute menu.

* Various improvements and bug fixes

  If a keypanel was configured for Unicode alphas, it ignored all matrix
  names for which the first character was in the ASCII range 0x20 - 0x3f
  (which included the digits and certain punctuation marks)

  If the intercom could see a total of 31 remote intercoms, hitting the LOC 
  button on the keypanel would cause the keypanel to reboot. (This is not 
  normally a problem, since a Trunk Master can only define 31 intercoms, so an 
  intercom usually only sees 30 remote intercoms. However, with intecom support 
  for talking to two Trunk Masters, a keypanel could see 31 remote intercoms.)

  Display artifacts could be visible on an EKP when switching to or from
  Unicode alphas.


Version 1.3.0 (CRC=0x0eab)
==========================

* Support for Unicode alphas in Standard (non-Japanese) mode

  The KP 32 CLD supports Unicode alphas in the Standard (non-Japanese) mode of
  operation.  Such alphas can include Cyrillic, Greek, and Latin characters,
  including most European accented characters.

* European mode identification

  When Unicode alphas are selected in Standard mode, the keypanel displays a
  European icon (distiguishable from the Katakana and Kanji icons) on the left
  LCD.

  The icon disappears when the keypanel begins communicating with the intercom.
  If the icon does not disappear, it is likely that the keypanel is connected
  to an intercom that does not support Unicode (or to no intercom at all).  Use
  the Service | Alphas menu to select a non-Unicode operating mode.

* Support for separate selection of alpha size and mode

  Use the Service | Alphas menu to select the alpha size (4/6/8 or 8 Unicode)
  followed by the mode (Standard or Japanese).
  
* Support for downloadable Unicode (non-Japanese) font

  The European font used for Unicode alphas in Standard mode can be downloaded
  to the keypanel. This font is distinct from the Kanji font used in Japanese
  mode.

  Support for Unicode alphas depends on the availability of the downloadable
  Unicode fonts. If unavailable, only the required Unicode font (European font
  for Standard mode; Kanji font for Japanese mode) needs to be downloaded.


Version 1.2.0 (CRC=0xbded)
==========================

* Support for separate CWW key as 65th Key

  The KP 32 CLD supports up to 64 talk and 64 listen keys, plus a separate
  call-waiting window key. In earlier versions, key 16 was the CWW key, and
  these two keys operated in parallel. Starting with MCII-e V2.3.0,
  the intercom now supports a separate CWW key, and key 16 is now a regular
  talk/listen key.  ZEUS-III V1.2.0, Cronus V1.7.0, and DBX V1.24.0 also
  include support for the separate CWW key.

  Note that AIO-16 V1.2.0, AIO-8 V10.4.0, or RVON V2.2.0 (all platforms)
  or later are also required for support of the separate CWW key.  If any one 
  of the devices (intercom controller, I/O card, or keypanel) does not support
  a separate CWW key, the system will operate normally, but the KP 32 CLD
  will operate without a separate CWW key (i.e. key 16 will be the CWW key).

* Various improvements and bug fixes

  Page scrolling to the right could wrap to beginning prematurely (Fixed)
  Selecting setup page 10 did not work (Fixed)
  Font used for CWW window did not include Katakana glyphs (Fixed)
  Display artifacts on expansion panel when changing from Kanji mode (Fixed)
  00 prefix access to old sequences did not work if CWW was displayed (Fixed)
  CWW alphas were not updated if hidden by menu (Fixed)


Version 1.1.4 (CRC=0x41bf)
==========================

* Disable Headset Auto-Transfer

  It is now possible to disable auto-transfer to/from headset mode when a
  headset is connected/disconnected.  A new Auto-Transfer sub-menu under the
  Audio Options | Headset Spkr menu allows you to Disable or Enable whether
  the headset mode will be changed when a headset is connected/disconnected.

* Specify Headset Mic Type
 
  It is now possible to specify whether a headset mic is Dynamic or Electret.
  A new Type sub-menu under the Audio Options | Headset Mic menu allows you
  to choose whether the mic is Dynamic, Electret, or Auto-Detect.

* Firmware Download Progress Displayed

  When new firmware is being downloaded to the keypanel, an icon is displayed
  which indicates this state.  This icon now includes a two-tone bar graph that
  shows the download progress.  There are actually two bar-graphs overlaid on
  the icon.  The grey bar graph indicates progress on the current "Chunk", 
  while the orange bar graph indicates overall progress to completion.

* Various improvements and bug fixes

  Key Options | Clear | Tap Key | <UPG1|UPG2> can be used to clear UPG key programming.
  Improved display of menus while scrolling left/right.
  LCD brightness adjustment below 40% on DKP 16 CLD could blank displays in V1.1.3.
  DKP 16 CLD does not support new LCD display boards.
  Pressing FWD or SEL during TIF dialing in Japanese mode could hang up TIF.
  In-Use tally could override Incoming Call tally in Japanese mode.
  

Version 1.1.3 (CRC=0x40a5)
==========================

* Various improvements and bug fixes

  Support for new LCD display boards.
  LCD brightness range was too small.
  LCD brightness adjustment on main panel did not work in V1.1.2.
  Boost DKP 16 panel mic input gain by 3dB.
  Rename Aux Inputs menu item to Aux/Mtx Inputs.


Version 1.1.2 (CRC=0x52a0)
==========================

* Various improvements and bug fixes

  Optimized screensaver drawing (smoother animation).
  Improved algorithm for deciding where to split alphas to display on two lines.
  Improved RS485 serial communications.
  Trim whitespace from alphas when showing them in a scroll list.
  Keypanel could restart under extreme keypress activity.
  If output muted, could no longer adjust volume for that output.
  Snoop tally icon state was not refreshed when changing hot mic status.
  Could sometimes show corrupt volume display briefly on first volume adjust.
  CWW left/right actions were reversed.
  Pressing CLR disabled the tone generator even if CWW visible.
  Phone-Drop did not work in "Classic" key sequence mode.
  Calling yourself from a scroll list added your alpha to the CWW.
  UPL control of talk/listen indicators did not work like the KP32.


Version 1.1.1 (CRC=0xe8ac)
==========================

* Support for Graphical Call Waiting Window

  Incoming calls have traditionally been displayed on key 16 in a virtual
  stack (with the key flashing to indicate other callers available).  Now, 
  the keypanel keeps a history of the last 9 callers, and displays them 
  in a graphical window above key 16.  

* Support for Configuring Key Colors

  Using AZedit V3.7.0 or later, with an intercom that supports keypanel colors,
  it is possible to select the colors used to represent key assignments of 
  each function type (PP, PL, IFB, etc.) on each matrix (local and remote).
  It is also possible to set unique colors for each local key assignment. 
  Please see the release notes for AZedit V3.7.0 for details.

* Support for new Talk and Listen Indicators

  The talk and listen states of each key are now represented by an LED-like
  horizontal bar at the bottom (talk) and top (listen) of each key.  The 
  default color for the talk indicator is red, and the default color for the
  listen indicator is green.  These colors can be changed using AZedit V3.7.0,
  or later, with an intercom that supports configuring keypanel colors.

* Support for UPL control of Talk and Listen Indicators

  The standard UPL output actions for Set Talk / Listen LED State are now
  supported by allowing these actions to control the new Talk and Listen
  Indicator states.

* Support for 1-touch Auto-Dials

  It is now possible to have a TIF auto-dial a particular number (stored
  locally in the keypanel) with a single key press. 1-touch Auto-Dials are 
  configured from the Key Options | Auto Dial menu.  Use the Numbers sub-menu
  to configure locally stored phone numbers.  Then use the 1-Touch sub-menu to
  select a TIF key and assign a phone number to it.  After exiting the menus, 
  pressing the key will cause the TIF to go off-hook and auto-dial the selected
  phone number.

* Improved Alpha Mode Selection

  The Service | Alphas menu now combines the alpha size and mode selection
  into a single menu.  Select the alpha size (4, 6, or 8 characters) and 
  the alpha mode (English, Katakana, or Kanji) by scrolling up and down within
  this menu.  Then press SEL to choose the new size and mode.

* Faster Menu Navigation

  Many menus that use the up/down arrows to select a new value have been 
  enhanced so that the double up/down arrows (keypad 2 and 5) move through
  the available selections at a faster rate.  Some of the menus that support
  this include: Dim, Gating, Max Volume, Min Volume, Mic Gain, Sidetone,
  Brightness, and Auto-Dial.

* Various minor bug fixes

  Periodically report headset status to intercom.
  Show selected key option states using talk or listen indicator as appropriate.
  Panel would restart if intercom forced listen keys 61-64 on or off.
  Panel would restart if trying to save a local auto-dial number with 32 digits.
  Improvements to Kanji mode display on main panel and on EKP.

* Note: Saved configuration reset to defaults on upgrade from V1.1.0 or earlier

  The addition of many new features that use persistent settings stored in the 
  configuration flash has required a re-organization of the flash storage area.
  This means that, when upgrading to this version from a previous version, the
  old configuration stored in flash cannot be loaded, and the keypanel will 
  revert to its default settings.


Version 1.1.0 (CRC=0x6f39)
==========================

* Fixed: Panel would sometimes not restart properly after firmware download

  Sometimes, after a firmware download, the panel would reset but not restart
  properly (hanging, or continually restarting).  This was a problem in the
  relocator (part of the bootloader).  The kp32-cld.flash image for V1.1.0 
  includes the relocator V0.0.7 and bootloader V1.0.2.

  To fix this problem the keypanel must have its flash programmed with the
  .flash file, or have the V1.1.0 .hex downloaded to it, and then have 
  bootloader V1.0.2 downloaded using the method described below.
 
* Supports downloading new bootloader code without requiring rear pushbutton

  To download new bootloader firmware, press and hold the Main and Aux shaft
  encoders, then enter Menu mode, then release the shaft encoders.  The Service
  menu will now contain a menu item called Boot Code.

  The Boot Code sub-menu displays the current boot code version, and provides
  a checkable menu item called Allow Download.  Press SEL to enable the Allow
  Download option, then download the bootloader firmware to the panel via
  AZedit.

* Fixed: DSP mixes did not respect speaker and headset output states

  When an Aux or Mic input was mixed to a speaker or headset output using the
  DSP Mixing menu, the input was always heard at the output, even if the output 
  mode was disabled, or if the output was switched (regardless of the switching 
  state).

* Special List assignment color changed

  Special list assignments are now pale green, instead of tan, to better 
  distinguish these from a key that is latched on in footswitch mode (whose
  amber color was similar to tan)

* Delay display of "Disconnected from Matrix" icon

  If the keypanel loses contact with the intercom, the keypanel waits 30
  seconds before showing **** on the keys, but it was showing the "Disconnected
  from Matrix" icon immediately.  The display of the icon has now also been 
  delayed for 30 seconds.

* Fixed: An aborted firmware download was not handled properly

  If a firmware download was aborted by the keypanel (wrong image type) the
  keypanel did not clear the firmware download icon, and did not force the
  intercom to re-send a power-up message (to let the intercom know that the
  download was terminated).

* Fixed: Intercom Auto Dial scroll list not received

  V1.0.9 broke receiving of the intercom auto-dial list.

* Fixed: Assigning setup page to lower row didn't work if Classic sequence used.
 
  When pressing PAGE, #, SEL, and then tapping a key to assign a setup page,
  this sequence would not work if trying to assign the page to the lower row
  of keys.  (It would report "Main row must have page assigned").

* Fixed: Keypad sequences could be wrong in Japanese mode

  Japanese keypanels use the Classic keypad sequences, and the Keypad Sequences
  menu item in the Service menu is not available in Japanese mode.  However, if 
  the panel was configured for Default sequences, and then switched to Japanese 
  mode, the panel would use Default sequences.  Now the panel is forced to
  Classic keypad sequence mode for Japanese operation.

* Keypanel power-up cancels some menus

  In older versions, a power-up from the intercom cancelled all menus.  This 
  made it hard to change out of Katakana or Kanji mode if connected to an
  English intercom (the keypanel would receive continual power-up messages,
  preventing you from using the menu to change modes).  V1.0.6+ did not allow
  a power-up to cancel any menus, but some menus that contain intercom or key
  assignment specific information should be cancelled on power-up.  These are:

    - password
    - tap key (for programming any key option or assignment)
    - display panel id
    - all key display menus (fn-type, lev2, listen, etc.)
    - all scroll list menus (matrix, fn-type, alpha, assign groups, etc.)
    - all temporary list menus (list of callers, inaccessible key assigns, etc.)
    - quick assign menus


Version 1.0.9 (CRC=0x5f27)
==========================

* Fixed: Keypad LED backlight could get stuck on

  When the keypad LED backlight was in Activate mode, it was possible to get
  the LEDs stuck on after performing a keypad programming sequence.

* Fixed: Scroll lists would sometimes start from the second item in the list.

  Requesting a scroll list from the intercom (using LOC or TYPE) would 
  sometimes result in the scroll list menu starting from the second list item,
  while the first list item was displayed on the CWW key.

* Fixed: Alpha sort order did not match KP-32, KP-96, and intercom

  The KP 32 CLD now uses the same sorting algorithm as the KP-32.

* Fixed: Assignment Groups displayed in black on CWW key

  Pressing SEL to get the list of assignment groups would display the list
  of AGRPs as a menu, but the currently highlighted item would appear in the 
  CWW in black text on a black background.

* Fixed: EKP V1.0.8 not backward compatible with V1.0.7 (or earlier)

  If the EKP had V1.0.8 in it, it would not talk to the Main panel with V1.0.7 
  (or earlier), making it impossible to revert from V1.0.8 to an earlier 
  version.  Installing V1.0.9 on the Main will transfer V1.0.9 to the EKP,
  which will then accept V1.0.7 or earlier if the Main is later downgraded.


Version 1.0.8 (CRC=0xa024)
==========================

* Improved communications with matrix

  A late response to a message from the intercom could cause the next message 
  to be lost (symptoms included missing key or setup page assignments).
  
* Support for transferring bootloader image to EKP automatically

  The bootloader will be transferred to the EKP automatically if needed.

* Various minor bug fixes

  CWW left/right should not turn on keypad LED backlight.
  Copy assignment to listen key was actually copied to talk key.
  Copy assignment to key #1 cleared menu.
  LCP encoder assignment for both speakers/headsets was not indicated correctly.


Version 1.0.7 (CRC=0x836f)
==========================

* LCP 16 CLD connector pin-out modified

  The clock and strobe bit assignments have been swapped to match the RJ45
  pin-out on the KP-32 (allowing the use of a standard CAT-5 cable to connect
  an LCP 16 CLD to a KP 32 CLD).

* LCP 16 CLD menus always enabled

  The Audio Options | LCP 16 CLD and Display | LCP 16 CLD menu items are always 
  enabled even if no LCP 16 CLD is present.  This allows pre-configuration of 
  the shaft encoder assignments before an LCP 16 CLD is connected.

  The Display | LCP 16 CLD menu also indicates if an LCP is not detected.


Version 1.0.6 (CRC=0x49c7)
==========================

* Support for LCP 16 CLD

  Use the Audio Options | LCP 16 CLD menu to assign input and output volumes to
  LCP 16 CLD shaft encoders.  

  Use the Display | LCP 16 CLD menu to display LCP 16 CLD shaft encoder 
  assignments.

* Katakana and Kanji mode identification

  Keypanels in Katakana or Kanji mode will not connect to English intercoms.
  To aid in detecting this mis-configuration, at power-on, the keypanel displays 
  a Kanji or Katakana icon on the left LCD if either mode is enabled.  

  The icon disappears when the keypanel begins communicating with the intercom.
  If the icon does not disappear, it is likely that the keypanel is connected
  to an English intercom (or to no intercom at all).  Use the Service | Alphas
  menu to select an English operating mode.

* Speaker, Headset, and Microphone icons

  New icons have been added for when the keypanel has no GPIO board installed.
  The new icons do not contain a "F" (Front), "R" (Rear), or "B" (Both) 
  identifier, as these are unnecessary if there is only one speaker, headset,
  or microphone actually available.

* Enhanced Test Mode

  When using the Service | Test Panel menu, the keypanel now indicates when
  the Mic Sel/Mute, and CWW keys are activated (in any direction), as well
  as indicating when the Main or Aux shaft encoders are rotated or pressed.
  LCP 16 CLD shaft encoder rotations are now also displayed in test mode.

* Various minor bug fixes


Version 1.0.5 (CRC=0xcc0b)
==========================

* Support for RVON-2 input gain adjustments

  Allows full range of input gain adjustment for RVON channels.

* Gating/VOX improvements

  The Gating/VOX algorithms have been improved.
  Gating/VOX is disabled by default from the factory or after a Reset Config.

* Fixed: Central Auto Dials 

  Dialing via the #nnn sequence did not work correctly in V1.0.4.

* Support for selectable English, Katakana, or Kanji operation

  Use the Service | Alphas menu to select alpha mode and size.

* Support for Quick Assign (Japanese modes only)

  In Japanese mode, pressing the SEL key brings up the Quick Assign menu,
  rather than the Assignment Group scroll list.

* Support for other Japanese features

  Other features include: Button Lock, Clear Key Options, Tally Duration,
  Keypanel Key Latch Disable, and modified TIF operation.

* Support for downloadable Kanji font

  The Kanji font used for Japanese mode can be downloaded to the keypanel.
    
* Various minor bug fixes


Version 1.0.4 (CRC=0x642f)
==========================

* Support for Centralized Auto Dials

  The TIF dialing menu includes an Icom ADial menu item if the intercom
  supports centralized auto dials.  Selecting this item presents a list of
  available auto-dial alphas.  Selecting an auto-dial alpha dials the number
  stored in the intercom and sets the TIF key alpha to the auto-dial alpha
  for the duration of the call.

  You can also manually invoke an auto-dial with the dial sequence #nnn,
  where nnn is the intercom auto-dial number.

* Non-Unicode version (English only)


Version 1.0.3 (CRC=0xef3f)
==========================

* Support for Unicode (Kanji) on EKP-32

  Unicode (Kanji) alphas can now be displayed on the EKP-32 expansion panel.

* Improved display of Unicode (Kanji) alphas on keys

  The algorithm for choosing where to split long alphas into two lines of text
  has been improved.


Version 1.0.2 (CRC=0x6044)
==========================

* Support for RVON-2 

  Full support of RVON-2 option board, including use as matrix connection or
  as two channels of Aux inputs.

* Support for 4, 6, and 8-character Katakana alpha modes

  Compatible with Japanese intercoms, but does not yet implement specific
  Japanese keypanel features.

* Support for 8 Unicode (Kanji) character mode

  Compatible with Unicode Japanese intercoms, but does not yet implement 
  specific Japanese keypanel features.

* Support for ganged Aux volumes

  Aux 2, 4, and 6 can be "ganged" with Aux 1, 3, and 5 (adjusting in pairs)

* Fixed: keypanel reference level

  Changes to keypanel output reference level were not applied correctly.

* Fixed: input gain mute

  Input gains (matrix, Aux in) did not mute when turned all the way down.


Version 1.0.1 (CRC=0x45f6)
==========================

* Fixed: display of DSP metering

  Metering display might not display properly when first enabled, or if other 
  icons are later shown or hidden.

* Fixed: pre-amp output

  The pre-amp output was left disabled during initialization, so there would
  be no audio out, even if the pre-amp output was set for Hot Mic.

* Fixed: reading of GPIO inputs

  If no GPIO board was installed, an input could float high and be read as
  active.  The panel now ignores GPIO inputs if no board is installed.

* Fixed: auto-detect of Headset 

  If a headset was plugged in or unplugged, the keypanel would change mode,
  but did not send the new headset transfer status to the intercom.

* General enhancements

  Improvements to hardware initialization
  Improvements to boot loader


Version 1.0.0 (CRC=0xf5c9)
==========================

* Initial Release
