router 72x72
What’s New in ÁH Router

Kok Chen, W7AY [w7ay (at) arrl (dot) net]
Last updated: Feb 23, 2011

What has changed in v1.90 ?
(February 23, 2011)

  • The changes in v1.80 caused the keyer settings in the plist to be read back incorrectly.

    v1.90 fixes the bug by associating the data in the plist with the serial number of the keyer.

    Each keyer with its unique serial number now has its individual keyer settings saved into the plist file. Two keyers will have two different settings, even when both are the same model of keyer. The data for a keyer persists in this plist even if you have removed the USB connection to the keyer.

    This allows you to configure and save different settings for two or more MicroHAM keyers and be able to uniquely recover them.

    If you have multiple keyers, you will need to separately configure the settings for each new keyer. For example, one microKeyer II can display the UTC clock on its LCD display, while a second microKeyer II can display different information.

    Many thanks to Roberto EA2RY and Artem UB3ABM for reporting the settings problem and helping validate the fix.

  • The iLink menu in the extended Settings window for the microKeyer II now includes a Couple with Station Master menu item that allows you to send data from the MicroKeyer II to the MicroHAM Station Master. Artem UB3ABM sent in the code changes to implement this.

  • You will notice a cleaner ÁH Router application icon. Many thanks to Roberto, EA2RY for supplying a high resolution drawing of the keyer knob for use as the ÁH Router icon.

What has changed in v1.80 ?
(January 20, 2011)

ÁH Router can now work with multiple digiKeyers or microKeyers. See here.

What has changed in v1.70 ?
(July 5, 2010)


Added a settings panel for configuring the new microHAM DIGI KEYER II and a new backdoor to enable the q-CW and p-FSK modes.

Added a test connection for the Elecraft K3.

What has changed in v1.61 ?
(May 6, 2010)


Automatic routing has been added to the router preferences. This allows the audio and PTT routing to follow the mode that is selected at the transceiver.

Also added is the FSK Routing, for the use of a PS/2 keyboard that is connected directy to a microKeyer. Please note that FSK Routing is not present in a digiKeyer.

For details, please see the keyer settings page, and for programmers, see the Backdoor page.

What has changed in v1.5 ?
(April 20, 2010)


v1.5 allows you to use CI-V and iLINK ports to control peripherals from the microKeyer II.

What has changed in v1.4 ?
(April 3, 2009)


(1) a new configuration preference panel is created to make it easy to configure the microHAM devices. After selecting the checkboxes and menus, ÁH Router will create the appropriate "settings string" for the keyer. In the past, this has to be done directly with string that you send using AppleScripts.

If you are using cocoaModem, please also update cocoaModem so that it does not override the new configuration preferences.


(2) A new panel has been added to switch between keyer modes.

With the more recent firmware, microHAM had introduced "keyer modes," giving independent control of audio and PTT routing to the digital, voice and CW "modes." To switch between these modes, ÁH Router now has a panel from where you can select the audio and PTT routing.

You can bring up this panel from the Show Keyer Mode Panel menu item in the ÁH Router Dock Menu or from the Window menu in the ÁH Router's main menu bar. Be sure to set the "PTT/Audio Routing Method" in the ÁH Router Preferences to "Use Mode Dependent Routing" if you want to use this panel.

(3) In addition to Unix FIFO and AppleScript interfaces, clients of ÁH Router can now use a UDP (User Datagram Protocol) interface.

For frameworks (such as REALbasic) that don't support Unix FIFOs, UDP is much more efficient than AppleScript. Additionally, UDP allows the control of a keyer that is on a separate computer which sits on the same network.

Developers of new applications that use ÁH Router should seriously consider using UDP as a better althernative to FIFOs. Because of efficiency considerations, AppleScript should be used as a last resort, or as a simple interface for AppleScript Studio applications.

Much thanks to David W4SMT for invaluable discussions and help with testing the UDP interface from a non-Cocoa framework.

What has changed in v1.3 ?
(February 17, 2009)

The changes made to ÁH Router v1.3 should only affect application developers who uses ÁH Router, not users. However, applications that rely on the new features (such as cocoaModem 2.0 v0.67) will need this version of ÁH Router. This version should be backwards compatible with the previous version of ÁH Router.

  • A write-only mode is created for FIFO connections from clients (see Write-only Ports in the Interface section).

  • Idle FIFO (see notes for v1.2 below) is now checked against the last time the FIFO was written into, instead of the current time.

What has changed in v1.2 ?
(February 7, 2009)

  • The Preference file has been renamed from w7ay.ÁH Router.plist to w7ay.mH Router.plist. You will need to reselect preferences, or manually rename the plist file in ~/Library.

  • FIFO ports that have been idle for more than 60 seconds are now closed by ÁH Router.

    Client applications link to ÁH Router by using Applescripts or by using Unix FIFOs. Previously, a FIFO that was not closed by a client (or the client was Forced Quit) can cause ÁH Router to eventually block on a FIFO write -- the symptom is an apparent freeze by ÁH Router. ÁH Router now removes idle FIFOs before they block the application.

    (Developers: an easy way to check if there are any unclosed FIFOs is to issue a QuitIfNotInUse. ÁH Router will not quit if there is an open FIFO.)

  • Responses from the radio (CAT) are now aggregated into long messages before they are sent to the client, instead of being sent as soon as each byte arrives from the radio. Data is placed into a buffer until the arrival time between bytes exceeds a timeout parameter. The optimal timeout parameter can depend on the client application that you are using, the speed of your computer and the model of the radio that is connected to the keyer.

    The timeout parameter can be set (with independent parameters for the digiKeyer, cwKeyer and microKeyer) in the ÁH Router preferences:


    It is easy to find an optimal parameter. Just watch the Mac OS Activity Monitor while changing the timeout parameter. Tune the parameter for minimal CPU usage by the client application. For example, with MacLoggerDX for Cocoa running on a 2.3 GHz G5 and connected to an FT-1000MP through a microKeyer II, MacLoggerDX consumes over 15% of the CPU if the timeout parameter is set to less than 15 ms, while the CPU consumption drops to less than 2% if the timeout parameter is set to greater than 17 ms.

    If you don't want to make the measurement, just use the default 20 ms value which appears to work well from a G5 to a quad processor Intel machine.

  • Added a diagnostic panel for developers to watch data that passes back and forth between the client application and the keyer. A Toggle Debug Window Dock Menu is used to bring up the diagnostic window, with buttons to eavesdrop on various stages of the data pipeline.

  • Added a Toggle Diagnostic to Mac OS Console Dock Menu item to dump events to the Mac OS Console, this allows a developer to see ÁH Router's events interspersed with the client's events on the console.

  • Acknowledgements from the keyer heartbeat and the ÁH Router UTC Clock updates (the clock is only available for the microKeyer II) are now filtered and not sent to the clients.

What has changed in v1.1 ?
(June 5, 2009)

Update the second LCD line of microKeyer II every 5 seconds if the UTC clock is running.

What has changed in v1.0 ?

Added microKeyer II LCD panel support. This allows custom strings to be loaded to the microKeyer II, including a custom UTC clock string that is updated every one second by the ÁH Router while it is running. See details in the Setup chapter.


Note: to get the customizable LCD function, you will need to be running at least v2.1 version of the microKeyer II firmware. You can update your microKeyer II to v2.4 Firmware by running ÁH Utils.

Added a Stay Alive menu item. This keeps ÁH Router running even when no application is using it. This allows you to keep the UTC clock running even when an application such as cocoaModem is not using the router.


What has changed in v0.9 ?

Fixed missing FSK dispatch from AppleScript.

Added FSK Test to Router test panel:

Picture 2

What has changed in v0.8 ?

This version allows ÁH Router to run in Japanese MacOS X systems.

When launching ÁH Router, the Japanese MacOS X has a problem with the "micro" character. There is no problem with the "micro" in the application name nor the plist. However, the current Japanese MacOS X (both 10.4 and 10.5) encounters a problem with the application bundle itself. In this version, the application bundle's identifier has been renamed "w7ay.mH Router" instead of "w7ay.ÁH Router". The application itself keeps the ÁH Router name, and the Preferences file has also remained "w7ay.ÁH Router.plist". There should be no outward difference for the user, except that ÁH Router will now launch and work with Japanese MacOS X.

Thanks to Yas, 7N4WPY for reporting the problem and help with identifying the root cause of the problem.

What has changed in v0.7 ?

This version recognizes the micro KEYER II. Currently, ÁH Router reports the micro KEYER II as a regular microKEYER.

What has changed in v0.6 ?

The ÁH Router was not passing WinKey status characters back to an AppleScript client. It should now do so.

Thanks to Tom, DL2RUM for reporting the problem and confirming the fix.

What has changed in v0.5 ?

The ÁH Router was not passing commands that contains zeros to WinKey. It should now do so.

Thanks to Tom, DL2RUM for reporting the problem and confirming the fix.