
What’s
New in µH Router
Kok
Chen, W7AY [w7ay (at) arrl.net]
Last updated: April 3, 2009
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:
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.