*** Version 2.59 *** Bug fix: AUD1600 (the old ProAudio16) - There was in a manufacturing change in the EEPROM IC used to backup parameters during a power failure. The new part uses a slightly different way of writing to memory, so ProAudio16's that had this new part installed are not backing up their parameters properly. This firmware update looks at the ID register of the backup EEPROM and then uses the appropriate commands to write to it. If you have an issue where parameters are not being saved correctly, this update will fix that. Bug fix: AUD1600P (the new ProAudio16) - There is chance of losing data backed up in EEPROM (things like the static IP address, volume settings, bass & treble, etc.) There were some timing values, recommended by the CPU manufacturer, that are used to read/write the EEPROM. These values were *way* off. The results are that sometimes not enough time is given to read/write to the EEPROM. And data might not always be saved. The firmware detected the corrupted data and reverted back to the factory default settings. If you're having an issue where your saved settings are reverting back to factory defaults, upgrade to this version of firmware and the problem will go away. *** Version 2.58 *** Bug fix: AUD1600P (the new ProAudio16) - The switch would drop offline when large amounts of data were sent from the switch. This prevented Control4 (and most likely other) controllers from requesting the initial status of the switch. The controller would reconnect, request the information again, and the same thing would happen. The results were very sporadic and unusable control when using the Ethernet. Serial control worked fine. - LEDs have been changes to reflect the status of the Ethernet connection. * Ethernet LED turns red on power up. * Ethernet LED turns yellow when DHCP get an IP address, or if static IP is being used. * Ethernet LED turns green when a connection is made to the controller. * Data LED blinks whenever a valid command is received from both the Ethernet and Serial port. * Data LED turns red whenever a doorbell switch is active, or the ID button is pressed. *** Version 2.57 *** Bug fix: All switches with DSP audio - A fix in Version 2.56 caused a problem with setting the volumes correctly during a page. Sorry, it's fixed here. *** Version 2.56 *** Bug fix: All switches with DSP audio On the AUD1600, the DSP was not properly initialized. This could caused some strange volume control issues, where adjusting the volume on one zone could affect another zone under certain circumstances. Or you may loose audio in one channel on some zones. This may or may not affect audio switches other than the AUD1600, but the DSP code for all audio switches has been recompiled for this update as a precaution. *** Version 2.55a *** Bug fix: All audio switches The Paging timing fix should have been applied to the source gains as well. The same symptoms appear when switching from a source with a high GAI setting to a source with a low level GAI setting. *** Version 2.55 *** Bug fix: All audio switches - If the current audio volume was below the doorbell volume, then when returning from a doorbell ring, the current audio would jump up to the doorbell's volume before lowering back to the previous (proper) level. This caused an irritating blast of audio. (This started when smooth volume ramping was fixed. It changed some timings and caused the sources to be switched before the volume was correct.) Changed: All audio switches - Changed the defaults to appear like that of most other paging systems. Advanced paging features are turned off by default. The do-not-disturb flags are off by default. Simply issuing the 'pASZ' to a zone will now cause paging to work at that zone, at the factory default volume. All you need to do to setup a zone for paging is to send a 'pASZ', and optionally a 'pVZ' or 'pVPZ' command to adjust paging volume. - Added the 'pAXSZ' command for more control over how paging works. *** Version 2.54 *** Added: For 4K switches - The ability to send pass-through audio, or stereo mix-down from the Dolby down-converters, to each TV. *** Version 2.53 *** Added: For switches AUD1632, AUD3200, AUD3248, AUD3264 - Sub-woofer controls that allow locking of zones and crossover settings. Changes: All audio switches - Rewrote the DSP volume control handling. The DSP library supplied by the DSP manufacturer had bugs that could cause clicks when raising and lowering the volume. This routine has been fixed and enhanced to allow for very smooth, clickless, volume changes. *** Version 2.52 *** Bug fix: AUD1600 only - The left DSP channel was not being properly setup when using the subwoofer functions. Added: For switches with 12V triggers Added a small off delay, to 12V triggers, to keep them from briefly turning off if you power down one zone before powering up another zone that is assigned to the same trigger. Bug fix: AUD1632, AUD3200, AUD3248, AUD3264 only Fixed the weirdities with the front panel lights. *** Version 2.51a *** Bug fix: All audio switches - On some switches the paging zones were not being reported properly. - Paging volumes were being set to relative levels even though an absolute level was specified. Bug fix: H4A800 - The HDMI audio extractions were not mapped properly. Added: For all 4K HDMI switches - The 'EOPT' command, to allow different manipulations of the EDID, including forcing Dolby or Stereo modes, and removing the extended HDMI 2.0 section of the EDID for compatibility with some older model TVs. *** Version 2.50 *** Added: AUD1600, AUD800, HDA800, H4A800, HDA604 - Part of a DSP rewrite. This release adds subwoofer control, and zone lock. Changes include the ability to lock any number of zones to a master zone. New 12dB/octave butterworth, and 24dB/octave linkwitz-riley low and high pass filters w/selectable cross over frequencies between 50Hz an 300Hz. New ability to invert (180 degree phase shift) left or right or both channels of a zone. - Future release will replace the 5 band graphic equalizer with 5 parametric equalizers. *** Version 2.49 *** Bug fix: HDA1632 - The silkscreens on the back of this switch was changed to a more logical layout (compared to previous switches). The LCD display on the switch was still referring to the old layout. The serial and TCP/IP commands were correct, so unless you were using the front panel for debugging, you would not have noticed (I didn't!). *** Version 2.48 *** Added: - For all switches with an audio section, a "lock zone" command has been added that allows you to lock one zone to another. Use: $LZ @zone,lockZone$ Where 'zone' is the zone you want to lock, and 'lockZone' is the zone you want to lock it to. For instance "^LZ @2,1$" would lock zone '2' to zone '1'. Now anytime zone '1' is changed, zone '2' will follow. This includes Volume, Bass, Treble. But does not include the zone gain settings (GAZ), balance, equalizer commands, and lipSync command, these can still be set independently. Bug fix: - When using the "Active On" setting of the doorbell switch, the paging would not return to normal when the switch contact was released. It did eventually timeout when the 2 minute maximum page length was reached. - There has been a report about paging losing one channel when using paging and mono-mixdown together. I was never able to reproduce this, but I did make some changes to the paging section that may have fixed this. If while using paging and mono-mixdown, you lose one channel, the fix is to disable the mono-mixdown. But then please let us know! *** Version 2.47 *** Bug fix: - Fixed the weird mappings of analog outputs to the HDMI audio insertions, when using the HDRZ command. - Fixed the weird mappings of analog outputs to the coax audio mirroring, when using the DRZ command. *** Version 2.46 *** Bug fix: (All audio / video switches w/triggger outputs) - Fix the mapping of the trigger outputs so that they follow the silkscreen. *** Version 2.45 *** Bug fix: - On power up the 'XS' flags for audio were ignored. Even though the 'XS' command showed the 'UVL' and 'MJP' flags were set. If an 'XS' command was sent (even if it didn't change any settings), then everything worked. *** Version 2.44 *** Bug fix: - Control4's SDDP was inadvertently turned off on the previous version of firmware. *** Version 2.43 *** Changes: (For all switches with HDMI) - When selecting a key size of '1', the switch will now enter a non-repeater HDCP mode. *** Version 2.42 *** Bug fix: - Fix errors with audio mapping. If you are having problems with no audio, or audio mapping to the wrong source, upgrade to this version. *** Version 2.41 *** Bug fix: - You could not always change the gains of digital inputs. *** Version 2.40b *** Bug fix: - Wrong parameter set in the HDA1632 causing the sources and zones to map to the wrong numbers. *** Version 2.40a *** Bug Fix: - This should be the final fix for TCP/IP. It seems I may have been fighting a hardware bug all along. There is hardware for moving Ethernet data around in the background, and it seems to be glitchy. The code the reads and writes to the Ethernet has be rewritten to NOT use this hardware. The old code would have occasional glitches and most of the fixes, to date, have been centered on how to handle these glitches. The new code has been glitch free, which is a much better starting point. Changes: - For audio boards that support them, the trigger outputs have been enabled. *** Version 2.39 *** Bug fix: - Some spurious characters were being sent to the front panel serial port. However for switches without front panels (the audio switches) these characters appeared on the back serial port, which can screw up drivers not expecting them. *** Version 2.38 *** Bug Fix: - TCP/IP dropping off the net every few days to once a month or so. It occurred when the TCP/IP buffer overflowed. TCP/IP buffer overflows are a standard part of TCP/IP, they just need to be handled properly. Occasionally an extra packet would be received when there was no room in the buffer. If this occurred while the firmware was reading the previous packet, you would end up with half of the old packet, and half of the new packet. This could lead to a cascade of problems that caused the TCP/IP hardware to be disabled. Only a power cycle would bring it back up. This only affected a small number of customers, those with busy networks that would occasionally overflow the TCP/IP buffer. However for those that it did affect, it was a reoccurring problem. *** Version 2.37 *** Changes: - The 'DZ' command's default values were set to 0ms, this can lead to occasional popping when changing sources. The new default values are now 20ms, which should eliminate any pops during source changes. *** Version 2.36 *** Bug Fixes: - Expanded the number of sources to always include the mirrored sources. On some switches, in the non-extended I/O mode, the number of sources excluded the mirrored sources. - The "mirror analog to coax" settings were not being saved by the 'SS' command. - The 'VPZ' command did not work with ramping, when directly setting a volume. "VPZ @1,10" worked, and "VPZ @1,+10010" worked, however "VPZ @,10050$" did not. Changes: (HDA1632) The HDA1632 was always in the Extended I/O mode. Control4 users: The HDA1632 C4 driver was originally written to use the Extended I/O mode, however C4 has a problem with sources or zones greater than 99 (it crashes ComposerPro). To bring all the sources within the 1-99 range, the HDA1632 now defaults to the Native I/O numbering. But this means the driver and firmware must be updated at the same time. *** Version 2.35 *** Changes: (All models with DSP audio) - Expanded the 'pAXSZ' command to include the ability to choose between 'jumped' and 'ramped' volume control during paging, without having to use the 10000 and 20000 offsets for paging volumes. Added direct access to the paging MUTE, VOLUME_MUTE, and DO_NOT_DISTURB flags. - Added the 'pVPMIZ' command to allow setting the minimum paging volume as a percentage. - The paging system was ignoring the 'pVMIZ' command. *** Version 2.34 *** Changes: (All models with DSP audio) - Added the command 'pAXSZ' to the paging commands. This sets the paging control flags for each zone. This is a bit mapped command, that currently has only bit-0 in use. This bit is another way to indicate whether the zone's paging volume is absolute or relative. Using a '+' in front of the 'pVMZ' command still works, but many programming languages don't easily support a '+' prefix when printing numbers. To help keep writing drivers simple, we've added this flag as another way of setting the paging volume to relative. *** Version 2.33 *** Changes: (All HDMI models) - Previously to keep clicks and pops from being heard while HDCP is being negotiated, we muted during the HDCP handshake process. But there are companies like Wyrestorm and KeyDigital that have splitters on the market, that do not handle HDCP properly (they effectively strip HDCP from HDMI). They start HDCP negotiations, but never finish, so we never unmute the audio when connected to these splitters. Starting at this version of firmware, we no longer mute audio during HDCP negotiations, luckily we also haven't heard many clicks and pops. I'm assuming most switch manufactures never gave any thought to the possibility of clicks and pops, and had no problems with these (illegal?) splitters -- well that's what we get for caring. :-) *** Version 2.32 *** Changes: (All models) - Added the 'pVMIZ' command to set the minimum page volume. - When setting 'pxSZ' commands, source '0' now means, "Don't change sources during page". Use the 'pxMZ' command to hard mute the zone during paging. *** Version 2.31 *** Changes: (All models with DSP audio) - Lowered the default volume levels to -24dB. *** Version 2.30a *** Bug Fix: (HD800) - The COAX outputs were not being reliably enabled. *** Version 2.30 *** Bug Fix: (AUD1600) - Optical inputs 9-16 were not working in the Extended I/O mode. -Bug Fix: (HD800) - Added the 'CoaxSw' to the front panel on some versions of the HD800. *** Version 2.29 *** Bug Fix: (All models) - A bad Ethernet packet could cause the TCP/IP stack to freeze up and stop communicating over the Ethernet. Very rarely, the switch could reset itself. *** Version 2.28a *** - Increased the startup wait time for HDMI boards. The time waiting for the HDMI 16x16 boards was right on the border of what it takes for the board to power up. It was possible for the firmware to timeout and stop communicating with the HDMI board, even though there was nothing wrong with the board. *** Version 2.28 *** Bug Fix: - Increased the size of some communication buffers. These affected the larger switches like the AUD3200 and AUD3248. If you are having problems switching / muting a lot of zones simultaneously, this is probably your fix. *** Version 2.27 *** Bug Fix: (HDA604) - The number of sources were limited in the Extended I/O mode. *** Version 2.26 *** Changes: - Added a range on zone commands. You can now refer to a range of zones by using the ':' separator. For instance: "^SZ @1:6,2$" would set zones 1 through 6 to source 2. - Added support for the Proaudio48 32x48 audio switch. *** Version 2.25 *** Changes: - Added the ability to press and hold the SELECT button to save parameters into EEPROM. This now works for audio levels (source and zone screens), audio source selection, coax source selection, and HDMI source selection. *** Version 2.24 *** Bug fix: (All models) - Squashed one remaining bug that affected the TCP/IP stack. This lead to very slow ping rates, and sometimes a full lockup of the TCP/IP stack. The only recovery was to power cycle the switch. *** Version 2.23 *** Changes: - Added the HD800-68 build to make files. *** Version 2.22 *** Changes: (HD800 w/o HDBaseT) - Changed the fan algorithm to work better with non-HDBaseT boards. Bug fix: (HDA604) - The LCD HdmiSw screen displayed too many zones. *** Version 2.21b *** - Removed some debug statements from showing up on the front panel serial port. *** Version 2.21a *** Changes: (HD800) - Changed the filename of the Control4 SDDP driver to distinguish it from V1.++ firmware. *** Version 2.21 *** Bug fix: (All HDMI models) - It was possible for the HDMI section of the switch to not be initialized properly on first power up. It was a very rare occurrence, but could happen. A timing value was on the very edge of being too short and sometimes the routine timed out even though nothing was wrong with the switch. Power cycling the switch almost always fixed the problem. Once the switch was powered on and working, there were no issues. The wait time has been fixed to prevent false timeout errors. *** Version 2.20 *** Bug fix: (All models) - Fixes a long standing issue where TCP/IP could get into a mode where response times were very slow (2-4sec). This mostly happened if a lot of data was sent to the switch during its power on initializations. Since the Proaudio16 switch has the longest startup times, it was most susceptible to this bug. Noisy networks exacerbated the problem. *** Version 2.19b *** Bug fix: (All models) - The '^SS 1$' command did not work if power was off so you could not save the power off setting as a default. *** Version 2.19a *** Changes: - The UVL flag in the 'XS' command is now set by default. All the drivers, known by Zektor, set this bit as part of the initialization strings. And it comes up each time a new driver is written, so now the default is to have this bit set. Bug fix (LCD Display Models) - The changes in the TCP/IP in version 2.19 required changes to the LCD's IPSetup screen. *** Version 2.19 *** Bug fix (HDA816, HDA1600, AUD3200): - Lipsync delay was not be set properly. - TCP/IP was not always initialized properly after an ErP power down. *** Version 2.18 *** New: - Added support for the HDA816 (Palladia8x16). Bug fixes (HDA800): - Fixed issues with the audio channel of the HDMI audio breakaway when using the XIO command. Bug fixes for all HDMI switches: - High bitrate audio streams (7ch audio, TrueHD, etc) were not being passed properly. Bug fixes (HDA816,HDA1600,HDA1632,AUD3200,gMV88,gMV1616): - The analog to digital converters were not always reset properly, sometimes analog audio could not be mirrored to the digital and HDMI outputs. *** Version 2.17 *** New: - Added support for the back panel doorbell switch hardware. Bug fixes: - The back panel ID button did not send an discovery packet on switches with front panel LCD displays (the LCD menu option worked). Now both the LCD menu option and back panel ID button will send a discovery packet. *** Version 2.16 *** New: - Added the ProAudio16 (the old Clarity Audio 16x16) switch to the base code. The ProAudio16 is now a 48x16 analog audio and a 32x16 digital audio switch. It supports all the paging / doorbell features our other Version 2.00+ switches support. It also supports the new XIO mode that makes writing a universal driver much easier. *** Version 2.15 *** Bug fixes: - Fixed issues with the MZ and DMZ commands, that kept audio from turning off when powering down a zone (Control4). This change will fix problems with audio playing when it shouldn't be. *** Version 2.14 *** Bug fixes: - The values of the 'pTIME' command were not range checked properly, which lead to invalid values. *** Version 2.13 *** Bug fixes: - GAI command was not working on the HDA604 when in the XIO mode. - The pVZ and pVPZ commands were not limited to the VMIZ and VMAZ values of a zone, now they are. - The pVPZ command had issues with negative values. *** Version 2.12 *** - The ability to mute the audio of an HDMI source. (For switches with a separate audio board). - Added code to support the HD1600 16x16 HDMI switch (with Coax outputs). *** Version 2.11 *** Added: - Added code to support the AUD3200 32x32 audio switch. *** Version 2.10 *** Bug Fix: - Cleaned up the LCD display on the larger I/O switches. The number of inputs became large enough to overflow some LCD screens. *** Version 2.09 *** Bug Fix: - Somehow the 'DZ' command was deleted from the command table. It's back now. *** Version 2.08 *** Bug Fixes: - The 'VMIZ' and 'VMAZ' would not work properly with '+' and '-' prefixes - The 'VRT' command did not return a response string. - Cleaned up the ATZ commands to stop extraneous ATZ commands from being sent. *** Version 2.07 *** Changes: - During a page, if a zone was set to source '0', it would not unmute. *** Version 2.06 *** Bug Fixes: (HDA1600, HDA1632) - Fixed a bug where a status register was not being initialized when changing between audio banks. This kept the DSP from being accessed at apparently random times. (Typical symptom: No volume control of a zone, or unable to unmute a zone). *** Version 2.05 *** Changes: - Added the ability to set the switch into an extended I/O mode, where all sources are numbered the same between all Zektor switches. This allows a single driver to be written for our full line of switches, without having to adjust for the differing number of inputs. For the sake of legacy drivers, this feature is disabled by default. - Changed the LCD's "Switching" screens to allow for more zones to be displayed on a single screen. This helps with the larger switches that have many sources, or when the switch is in the extended I/O mode. - Changed the STrim to combine analog and digital gains, and expanded the number of sources, to match the way the Version 2+ firmware works. Bug fixes: - Fixed the ESet screen for the HDA604. *** Version 2.04 *** Changes: - The behavior of paging has changed. In the old behavior, any changes made to the paging parameters while paging was in effect, were made instantly. This lead to strange behavior in the switch. For instance if you enter the page mode, then set a zone to "Do Not Disturb", the zone would then be unaffected by the paging. When you send the command to turn off paging, that zone will have it's "Do Not Disturb" flag set, and it will not return to the previous source. The new paging routines use a local copy of the parameters, read at the start of paging. So any changes made to the paging parameters during a page will be ignored until the start of the next page. *** Version 2.03 *** This added many changes to allow older HDA800s to use the new "2.0" firmware. This also added support for the possibility of audio only switches 16x32, 32x32, etc It was also needed as a prerequisite to adding the Proaudio16 switch to this firmware, allowing the Proaudio16 access to the doorbell features of the "2.0" firmware. *** Version 2.02 *** Fixed an issue with the P0 and P1 commands. There was a problem that could sometimes keep the DSP's from being setup properly after a 'P1'. *** Version 2.01 *** Fixed an issue with the 'VZ' command not reading its parameters properly. *** Version 2.00 *** Initial Release for 2.00 firmware. This is a major redesign of the firmware. It changes the way inputs and outputs are handled. There is no longer a priority system for inputs. Each input can be selected individually. Instead of having a single input consisting of a L/R, or Coax or Optical input, these now become three distinct selectable inputs. A full featured doorbell subsystem has been added. You can setup all the switching in advance, and all switching and volume changes will be fully handled by the switch when a doorbell switch is detected (or serial / TCP/IP command is sent). Once over, all paths and volumes will be returned to their previous state.