cocoaModem

What’s New in cocoaModem 2.0 v0.44, v0.45, v0.46, v0.47, 0.48, v0.49

Kok Chen, W7AY [w7ay (at) arrl.net]
Last updated: February 18, 2008


Click here for the previous (v0.37-v0.43) What’s New.




What has changed in v0.48, v0.49 ?

* Japanese MacOS users who use the Kotoeri component for keyboard input will now receive an alert when passing characters other than English alphabets.

* Fixed a sequencing bug that caused macro problems in the CW interface when not using QSK. Macros in the CW interface should now work with or without QSK.

* Fixed the CW interface so that it no longer puts out multiple lock messages to the Console on Leopard.

* The microHAM microKeyer has an audio router that switches sound card input and output and microphone input to various connections on the radio. The configuration of the audio router is saved in an EEPROM which could be defaulted for voice keyer routing when the unit is shipped from the factory.

cocoaModem is supposed to modify the audio routing in the microKeyer for AFSK use. However, a bug caused this step to be bypassed. Unless the EEPROM in the microKeyer had been previously programmed for AFSK routing, audio from the computer will not reach the radio.

This should now been fixed, and you no longer have to change the default EEPROM for AFSK routing. cocoaModem will temporarily force the microKeyer to use AFSK routing until you power cycle the microKeyer, or until another application changes this temporary setting.

(For those who would like to change the default EEPROM setting - including audio routing, PTT delays, etc, I also have an AppleScript that you can run which stores a different settng into the EEPROM. Please email me if you would like the AppleScript script file.)

* v0.49 has a bug fix (v0.48 was running an unlocked loop in one of the threads).



What has changed in v0.47 ?

pskb rttyb

The width of the waterfall in the Wideband RTTY and PSK interfaces can now be selected between the original "2 kHz" and a new "4 kHz" width. Before using it, be sure that your transmitter is capable of wider bandwidths than 2.4 kHz. Except for software defined radios, most transceivers don't have the capability. For more details, see the User's Manual's Wideband RTTY and PSK chapters.

neta

NetAudio has been added to the input and output device menu (see the sections NetAudio and NetAudio Preferences in the User's Manual). This allows cocoaModem to send and receive audio streams to and from a different application (e.g., an SDR front end) that uses the AUNetSend and AUNetReceive components of Core Audio. NetAudio also allows the client apps to run on a separate computer on the same local network.

NetAudio is implemented as a new framework in cocoaModem. Because of that, cocoaModem installations will copy four instead of three frameworks to your /Library/Frameworks folder. The NetAudio framework is documented here, and the Xcode project and sources for it and sample codes is available for download from here.

v0.47 fixed PSK31/PSK63 mode selection bug. When xcvr1 and xcvr2 do not both have the same PSK modes selected, the transmission could be in the wrong mode. This is now fixed. Thanks to Sergei KD6CJI for reporting this anomaly.



What has changed in v0.46 ?

RTTY and PSK ring buffers are cleared at the end of each transmission. Under some circumstances, end-of-transmission characters had remained in the buffer and caused a subsequent macro to fail.



What has changed in v0.45 ?

I've changed the IMD measurement scheme, added a transmit filter to PSK31 and fixed a freezing/crashing bug in the contest interface.

In the past, cocoaModem would wait for a long idle pattern (when you see two unmodulated carriers from the PSK31 signal on the waterfall) before it attempts to take an IMD reading. This is to provide enough SNR from an FFT so the reading is not noise limited. This scheme has changed in v0.45 so that shorter idle patterns are accumulated and when there is sufficient SNR, the IMD is then computed. It still requires idle patterns, but it can now work on multiple short idle patterns rather than needing a single long contiguous idle pattern.

PSK31 has a raised cosine envelope when there is modulation. This means that except when transmitting an idle pattern, there will be some low level (below -34 dB) keying sidebands from PSK31, since the spectrum of the baseband raised cosine waveshape itself is not band-limited to 32 Hz. This is a very low level signal and unless the signal is over 45 dB above the noise floor of the receiver, it will not bother anyone else at that receiver. However, with a strong (9 S-Units above the noise floor) station, you will start to notice the effect on weak adjacent signals that might have otherwise been decodable. In an attempt to provide a cleaner signal, cocoaModem now passes the baseband of the transmit audio through a lowpass filter. This only affects the cleanliness of the transmitted signal. No change has been made to the receive filter.

When capturing contest exchanges (the next control click after capturing the callsign), if the cursor does not land near enough of actual text (for example when the screen is actively scrolling) the contest interface could freeze or possibly crash. This should now be fixed in v0.45.

If all the newline scrolling during a contest makes it hard for you to point the cursor at the correct spot to click, remember that cocoaModem's contest interface has an option to ignore all incoming newlines (so the screen will only scroll more predictably when each end of line is reached). This option (not sticky) can be selected with the Ignore Newline menu item in the Contest menu of the main Menu Bar.


What has changed in v0.44 ?

Recently, some PSK31 apps have been using both carriage return and linefeed characters to represent the new line character. cocoaModem v0.44 will now accept both carriage returns and linefeeds as newlines in the receive text view. Any program that sends both CR-LF for a single newline will create a double spaced line separation (I have not encountered one yet, but there might be some...).


A bug caused a prolonged silence (nominally seven basic time elements -- i.e., 7 times longer than a dit) to fail to emit a space character from the CW machine decoder. This should now be fixed in v0.44.

Remember that under noisy conditions, do not use Auto speed. Instead, pick the closest receive speed from the speed menu. That will give more reliable decoding. However, with stations that send with extreme CW weights, Auto may be more reliable.

Also, please don't use the CW decoder as a permanent crutch -- please use it as an aid to help you pick up your aural speed. Other digital modes with proper character timings are much more suitable and reliable as a keyboard mode.


When under AppleScript control, a switch from receive state to transmit state in PSK used to cause the transmit buffer to reset, losing anything that has been loaded into the buffer prior to the switch to transmit mode. With v0.44, you can now send a transmit buffer to cocoaModem through AppleScript before switching to transmit mode without losing the buffer. (This does not affect manual typing since manually typed text is buffered in the transmit text view rather than buffered in the transmit ring buffer.)


Click here for the previous (v0.37-v0.43) What’s New.