cocoaModem

What’s New in cocoaModem 2.0 v0.33, v0.34 and cocoaPTT update

Kok Chen, W7AY [w7ay (at) arrl.net]
Last updated: June 27, 2007


Click here for the previous (v0.32) What’s New page.





What has changed since v0.34?

Both

The current checkpoint of cocoaModem remains at v0.34.

A new cocoaPTT has been posted. In addition to being able to select RTS or DTR, this version allows you the select "Both" RTS and DTR. AE6TI had written to me that the Rigblaster nomic will not unkey once cocoaPTT is launched. I managed to find the schematics of the nomic and discovered that the RTS and DTR signals in the nomic are wire-ORed together to form the PTT keying signal. Selecting "both" RTS and DTR in the latest cocoaPTT (see documentation) will make this device work.

You may need to update the cocoaPTT preferences if you decide to update the cocoaPTT application (if cocoaPTT is working for you, you do not need this update).


What has changed in v0.34 ?

Fixed a bug that is caused by an un-initialized log script pointer if a fresh copy of cocoaModem (instead of an update) is installed.


What has changed in v0.33 ?

The user interface for all cocoaModem interfaces which support two receivers has changed. Interfaces that have a waterfall display now include a noise reduction option for the display. The spectrum analyzer tool in the Config panels now have spectrum averaging and also noise floor compensation.

A new feature is added, and a bug was fixed in the PTT interface. Command-T now also forces the main cocoaModem window to become the key window.

You can now extend Morse to include unimplemented pro-signs and European Morse characters. The output attenuator for the CW interface has also been fixed. A latency popup menu is added to the CW receiver.

The Feld Hell bandpass filter is narrowed to 230 Hz to remove secondary keyclicks, and a FM Hell 105 bug is fixed.

The input attenuator for MFSK16 is fixed and a carriage return from some program is now treated also as a newline character.

The contest macro repeat function works again. cocoaModem now sends a setup sequence to the microKEYER to switch the audio routing in the keyer to use AFSK.

The CoreModem and CoreFilter frameworks have been updated.

cocoaPTT has been modified to ignore characters in the data port. Download the updated version from here.

The Audio Interface and PTT sections in the User's Manual have been expanded and moved out of the User's Manual to its own Interfacing section, with subsections on Audio Interface and PTT.



Dual Receiver Behavior

The behavior for the interfaces with dual receivers (PSK31, Dual RTTY, Wideband RTTY, CW) has changed.

Before cocoamodem 2.0 v0.33, the two receive sections (tuning indicators, text view, controls, etc) have remained fixed in cocoaModem's main window whether you transmit on one or the other.

With cocoamodem 2.0 v0.33, the receive sections will swap places so that the receiver section that is closer to the bottom (i.e., closer to the transmit interface) will be the interface whose tones you will be using to transmit with.

The PSK interface in cocoaModem allows you to copy two different signals within a single common passband, indicated by either a Green (xcvr 1) or a magenta (xcvr 2) marker in the waterfall . The transmit select button remains unchanged and lets you choose which of these two tones to use as your own transmit carrier frequency.

A green indicator light (in the small control panel on the right of the xcvr section) was used to indicate which xcvr you choose to transmit on. Now, the indicator light is either green or magenta to give a further interface clue as to where you are transmitting through. The following shows the color indicator if you choose to transmit with xcvr 2.

pskrx

With the dual receiver RTTY and CW interfaces, cocoaModem uses two passbands that can be connected to two independent receivers. Each receiver comes with its own waterfall.

The way you select which receiver to use as the transmit tones has not changed -- as before, you still need to select the receiver that correspond VFO on the physical transceiver you are transmitting through. However, like the PSK interface change, the receiver sections (including the waterfall) will exchange places, placing the receiver whose passband you are transmitting through closer to the bottom (i.e., closer to the transmit interface). During a "split" operation, the DX should therefore appear on the upper receiver and his QSX (where the pileup is) should appear in the lower receiver.


Waterfall Noise Reduction

NR

A noise reduction algorithm has been added to help clean up the waterfall displays. The noise reduction does not impact the demodulators but just the visual appearance of the waterfall. Press the NR button below a waterfall to turn noise reduction on and press it again to turn it off.


Spectrum Averaging

zero space fours

In the past, only the spectrum display of the Dual RTTY interface had included spectrum averaging. That functionality is now available on the spectrum displays in the Config panels. There is now a popup menu that normally reads Avg. Just as with the Dual RTTY interface, you can now select 0.2, 0.5, 1.5 and 4 seconds of (exponential) averaging for the spectra in the Config panels. This should help improve the accuracy of estimating signal to noise ratio of signals, and also for calibration of audio filters.

The follow is an example of the noise bandwidth (sky noise on 20m) of a pair of cascaded I.F. filters consisting of a stock 500 Hz I.F. filter together with an INRAD 400 Hz filter in an FT-1000MP, using 4 second of spectrum averaging:

inrad

In addition, there is a Baseline button that tries to maintain a constant noise baseline as the noise level changes; this can be useful when comparing signal-to-noise ratios from various antennas.

Each of the dotted horizontal lines remains separated by 20 dB.


PTT

No PTT spaceHas PTT

When a User Defined PTT is chosen in the AppleScript Preference, the menu entry in the PTT menus used to become un-grayed out and appear as "User Defined."

Now, when you select a folder that contains the user script files, the PTT menu will show the name of the folder instead of "User Defined". In the example shown above, I had pointed the User Defined Scripts to a folder named W7AY PTT. When you use AJ0O's application TS2K-L, which has scripts to control the TS-2000's PTT using CAT, the menu item in cocoaModem's PTT menus will now say TS2K-L.

See the PTT documentation in the Interfacing section for more details.

There was a bug in the cocoaModem PTT Hub which caused cocoaModem to abort when a previously selected User Defined Script folder can no longer be found. cocoaModem now continues to run even when it fails to load the script.


Key Window

Command-T

When transmitting, the main window of cocoaModem has to be made the key window, otherwise any text that you type will not go into the transmit view.

In the past, if you had opened an aux window in the RTTY interface and had selected the aux window as the key window, the keyboard shortcut Command-T will turn on the transmitter but the aux window will remain the keyboard focus. Anything that you type will not be passed to the transmit text view until you've clicked on the main window to make the main window the key window.

Now, if you hit Command-T (or select the Transmit item in the T/R menu), cocoaModem will automatically select the main window to be the key window. Anything that you type will go into the transmit text view.


CW

cw

You can now associate arbitrary Morse sequences (European characters, pro-signs, etc) to a keyboard key by adding that information to a file called Morse.txt in the Library/Applications Support/cocoaModem folder of your home directory.

See the CW documentation for more details.

The output attenuator for the CW transmit config panel was left unconnected; it should now work.

The automatic CW decoder has some pipelines built in to take care of noisy or poorly keyed Morse characters. This causes the characters to appear much later than they were received. In v0.33, a Latency popup menu has been added to skip some of the post processing.

latency1

The menu can be selected to use low latency (least post processing), medium and high latency (most post processing). You might prefer to use low latency for chasing DX and high latency for ragchews and printing news bulletins, where accuracy is more important than latency.


Hellschreiber

Feld Hell is now passed through a 230 Hz (+,- 115 Hz) bandpass filter. The previous filter was letting though a -20 dB keyclicks that are 110 Hz to 200 Hz away from the center of the Feld Hell signal.

There was a bug that occurred when you switched to FM Hell 105 after transmitting in either Feld Hell or FM Hell 245 modes. The switch used to cause the phase of the modulating signal to be shifted by 90 degrees; the FM 105 text then appears at the receiving end as fuzzy characters.


MFSK16

The MFSK16 input attenuator slider should now work (if the A/D converter is controllable).

On teletype machines, a Carriage Return should only point the text to the beginning of the current line and not advance the platen to the next line. Many programs violates this convention, however -- some Windows programs send only a Carriage Return as a signal for a newline. To accommodate them, cocoaModem now maps both Carriage Return or Linefeed as a newline indicator. If a Carriage Return and a Linefeed are paired, cocoaModem will threat the pair a single newline.

With LSB mode is selected, the carrier marker in the waterfall used to jump in the wrong direction between first clicking and after a signal has finished acquiring. That is now fixed and the waterfall marker in both LSB and USB should now jump to the zero tone of an MFSK16 signal after it is acquired and locked.


Contest Interface

Repeat

A previous cocoaModem checkpoint had a bug which immediately terminated the transmission of a repeated macro in the contest interface. That should now be fixed.


Frameworks

CoreModem and CoreFilter were changed to allow greater flexibility with defining Matched Filters (specifically the RTTY matched filters) .


cocoaPTT

ptt

cocoaPTT has been modified to open the serial port for write-only. If the serial port input data line was connected to physically active port, in addition to the RTS or DTS control signals, the system input buffer would eventually hang the port unless some other program is actively reading the stream. Please reinstall cocoaPTT from the download page if you are using it as your PTT device.


micro KEYER Setup String

The microHAM micro KEYER has audio routing relays to reroute the line and microphone inputs. The onboard EEPROM determines the state of the audio routing when you first turn the micro KEYER on. If your micro KEYER has been defaulted to be used as a voice keyer, cocoaModem was not able to transmit if you had wired the computer to use the line input instead of the microphone input of the micro KEYER.

cocoaModem now initializes the micro KEYER to accept the line input for audio routing. This does not permanently set the EEPROM state.

However, it also changes the other flag bits in the setup string (the micro KEYER does not allow only specific bits to be changed). If the initialization that cocoaModem uses conflicts with other applications, you can redefine the setup string using the micro KEYER setup string field in the Connection tab of the Preferences panel.

setup

This does not affect the other microHAM models such as the CW Keyer, the digi Keyer or the USB Interface II, none of which supports audio routing.

(If you would like to change the power-up behavior of a microHAM keyer, I have some AppleScripts that you can use with the µH Router to change the EEPROM settings in the keyers. Please email me if you would like a copy of the scripts.)