Loading...
 

2.4.2 Macros

One of the great strengths of N1MM Logger+ is its ability to send stored messages during contest QSOs, and to embed macros in those messages. Macros are so called because they either expand to a given text string, for CW and digital modes, or execute some program function. An example of the first is the {EXCH} macro, which expands to the exchange which you entered in the Contest Setup Dialog's Sent Exchange field - for example, if you enter John CT, that is what will be sent whenever the {EXCH} macro is encountered.
The second (program control) type of macro is much more complex and more powerful. These macros can switch the program from RUN mode to S&P mode, an essential attribute during NA Sprint; set or clear your transceiver's RIT function; or a myriad of other possibilities. In the sections that follow, you will find a comprehensive list of all the macros available in N1MM Logger+, as well as useful examples of how stored messages can be structured for efficient operating.

1. General Macros


General macros can be used in all the places mentioned above.
Note that the table below is sortable alphabetically by the name of the macro, by clicking on the up/down arrow icon just to the left of the "Result" heading.

Macro keyword Result
* Call from the Station info dialog, same as {MYCALL}
! Sends the callsign entered in the Callsign field of the Entry window, or if that field is empty the last call logged. Use this macro rather than {CALL} if you wish to have the Send Corrected Call function work correctly.
@ To voice the current receive frequency, if you have recorded files for individual letters and numbers. The frequency will be voiced to the nearest 100 Hz, dropping .0 if receiving on an even KHz frequency. This capability can be used to avoid having to rerecord CQ messages on 40m split. Here is an example: {operator}\CQ Listening.wav,@,{operator}\AndThisFreq.wav
{CALL} Sends the call in the Callsign field of the Entry window as it was at the time the message started, or (if that field is empty) the last call logged. Note: This will send the call as it was when the message STARTED. Use the ! macro instead to use the Send Corrected Call function. Do not use the {CALL} macro in F5 (HisCall key) if you use ESM; instead, use the ! macro in F5. This is critically important if you ever hit [ENTER} in ESM before you have finished typing the call-sign, because if you do, the characters entered after you hit [ENTER} will not be sent unless you use !.
{CHNAME} If a Call history file is loaded into the current database, and a callsign is entered for which a name is present in the file, then this macro will send that name. Call History lookup does not have to be enabled for this macro to function.
{CLUSTER} Cluster callsign from Station info dialog. See examples
{COMMENT} Macro to add string following {COMMENT} to comment field of current or last QSO
{END} This macro stores all macro text after the {END} macro string and executes it after CW, SSB or DIGI messages are sent. One use of the {END} macro is to send CAT commands to the radio(s) after a transmission ends. All QSO message text placed after the {END} macro command is not sent.
# Send serial number for this QSO, or if there is no call sign in the Entry window, the serial number for the previous QSO
{EXCH} Sent Exchange, based on the contents of the Sent Exchange box in the Contest Setup dialog. When the sent exchange includes a serial number (001 or # in the Sent Exchange box), the number sent will be for the current QSO if there is a call sign in the entry window, or for the previous QSO if there is no call sign in the entry window.
{FORCELOG} Same effect as Ctrl+Alt+Enter, but does not ask for a note to be entered
{FORCELOGNOTE} As above but asks whether you want to enter a note.
{FREQ} Frequency from the contact in the Entry window
{GRID} Gridsquare from Station info dialog
{GRIDSQUARE} Gridsquare from grid textbox (contact in Entry window)
{GRIDBEARING} Bearing between own gridsquare and grid textbox (contact in Entry window)
{REVGRIDBEARING} Reverse bearing between own gridsquare and grid textbox (contact in Entry window)
{KMGRIGDISTANCE} Distance in kilometer between own gridsquare and grid textbox (contact in Entry window)
{LOG} CW:Logs the current contact. Same as ENTER in the Entry Window. Digital: Put the {LOG} macro after the {RX} macro... The receive frequency is being reset to the transmit frequency. Note: does not work in phone (SSB, FM etc)
{LASTCALL} Call of last station logged
{LASTEXCH} Exchange of last station logged. For ROPOCO and LZOPEN only. It does NOT work for other contests!
{MYCALL} My Call from Station info dialog, same as *
{NAME} Sends the name as entered in the Entry window name field (Example: TARA) or when no Entry window name field, searches the name in the call history table
{NAMEANDSPACE} Sends the name as entered in the Entry window name field (Example: TARA) or when no Entry window name field, searches the name in the call history table and adds a space behind it
{OTHERFREQ} Is replaced by the frequency of the non-active radio. Used for passing stations to other bands. Substitutes "R" for decimal on CW
{OTRSP XXXX} Used to send a command to an OTRSP (Open Two-Radio Switching Protocol) device. XXXX can be any command known to the OTRSP device
{PGDN} Change frequency up equal to amount set under 'PgUp/PgDn Incr (kHz)' 'in the Configurer under the 'Other tab'. Can be used after the {END} macro, as in NA Sprint function-key messages
{PGUP} Change frequency down equal to amount set under 'PgUp/PgDn Incr (kHz)' 'in the Configurer under the 'Other tab'. Can be used after the {END} macro, as in NA Sprint function-key messages
{PREVNR} Sends the QSO # of the last logged QSO
{LRMHZ} Frequency Left Radio/VFO-A in MHz. Example: 28 when on 28.1234 MHz
{RRMHZ} Frequency Right Radio/VFO-B in MHz. Example: 14 when on 14.1235 MHz
{RUN} Switches into Running mode
{S&P} Switches into S&P mode
{STEREOOFF} The stereo bit on the LPT port will be set to OFF
{STEREOON} The stereo bit on the LPT port will be set to ON
{TIMESTAMP} Date and Time from the contact in the Entry window
{TX} CW/SSB: when sent in a function key will key ptt. Use Esc to turn off. This is a manual PTT from the keyboard. RTTY: Check out the Digital macros below. Note: This does not appear to work with some radio/interface combinations.
{CLEARRIT} Reset the RIT to zero. Could be used in the macro that confirms the contact, usually F3. Use the RIT when the station is calling and when logged the RIT clears (using F3). Note: Will only work for radios that support that function. Most ICOM radios do not. Your manual will tell you for sure
{CTRL-A}...{CTRL-Z} Sends Ctrl+A character to TNC. All characters from the alphabet can be used (A to Z). Not valid in MMTTY and PSK. See examples
{ENTER} Sends ENTER to TNC
{ENTERLF} Sends Return/Line Feed to the TNC. Try this if {ENTER} doesn't seem to work
{ESC} Sends Escape character to TNC. Not valid in MMTTY and PSK. See examples
{DATE} Short date in Windows format as set in Regional settings
{DATE1} Date in Nordlink-TF/WA8DED format (dd.mm.yy)- format: 26.02.99
{SENTRST} Sends the RST sent as entered in Entry window Snt field
{SENTRSTCUT} Sends the RST sent with the number 9 sent as the character N. Will send 57N or 5NN etc
{TIME} Time in Windows format as set in Regional settings
{TIME1} Time in Nordlink-TF/WA8DED format (hh:mm:ss)- format: 20:36:55
{TIME2} Short GMT time (hhmm)- format: 2036 Information how this macro works in digital contests can be found at: Time2 - How it works
{DAYTIME} Date in TAPR DayTime format - format: 0107162036
{DATEGMT} Date and GMT time - format: 16-jul-01 18:36:55
{TIMEGMT} GMT time - format: 18:36:55
{F1} - {F12} Sends text assigned to function keys F1 through F12
{SOCALLSTACK} This macro enables single operator callsign stacking. When in RUN mode, this macro gives the operator the ability to stack and retrieve a single callsign when multiple stations are calling. The stacked callsign does not need to be a full call and it can contain a "?". Single operator call stacking can be used in SO1V/2V or SO2R mode, in both entry windows, and with/without ESM. When in RUN mode, {SOCALLSTACK} will move a call or partial call and place it in the callsign frame and bandmap. If a stacked call exists on the call frame, the callsigns will be exchanged. If the callsign contains a question mark ("?"), the cursor will highlight the question mark when the text is popped off the stack. If the callsign does not contain a question mark, the cursor is placed at the beginning of the callsign upon return to the entry window. Using the existing command ALT+D, it is possible to delete a stacked call from the bandmap and call frame without popping it off the stack with when the callsign entry window is blank. {SOCALLSTACK} will also pop the call off the stack if ESM replaced the stacked call with the string CQ-Frequency. When this occurs, the stacked call will be visible in the bandmap. {SOCALLSTACK} is not intended to be used with the MM call stacking function. See also the macro {STACKANOTHER}. Callsigns stacked by {SOCALLSTACK} can be popped off the stack by pressing the space bar when the CQ-Literal is on the call frame. More info and examples in the chapter: Single Operator Call Stacking
{STACKANOTHER} Macro to stack additional callsigns in all modes. Also check the keycombination CTRL+ALT+G More info and examples in the chapter: Single Operator Call Stacking
(CLRSTACK} Clears the call stack
{LOGTHENPOP} RUN mode only. Intended for with the single operator call stacking feature. It logs the current station sending corrections if enabled, pops the next call off the stack, and updates ESM if enabled, to the correct step. The macro can be used with or without ESM. The suggested message is: {LOGTHENPOP} TU NW {F5}{F2} (Note: In contests with serial numbers, do NOT use # in the LOGTHENPOP macro). In CW, if {LOGTHENPOP} can not pop a call off the stack and the logged callsign was changed, send corrected call if enabled and the TU message. More info and examples in the chapter: Single Operator Call Stacking. Example function key setup can be found in the Chapter Function Key Examples (CW: example 3)
{ROVERQTH} Sends the Rover QTH. Check out the chapter Setup QSO Parties for more information on Rover support
{VARYMSG1} {VARYMSG2} These macros allow the user to control how often an alternate form of a function key message is sent instead of the primary form. Each can be used once in a given Function Key set. The form of the macro is {VARYMSGn&Primary Message&Alternate Message&How Often to Send Alternate&}. Substitute the form of the message you want to send most often for Primary Message. Substitute the message you want to send at intervals for Alternate Message. Finally, specify how often you want to send the Alternate message in "How Often to Send Alternate". A "0" in the "How Often to Send Alternate" field sends the Primary Message every time. A "1" in the "How Often to Send Alternate" field sends the Alternate Message every time. Placing a number, N, greater than 1, in the "How Often to Send Alternate" field sends the Alternate Message every Nth time. Examples: in the CQ Key definition (RUN F1), {VARYMSG1 &CQ * *&CQ CQ * *&3&} will send a slightly longer CQ every 3rd time. In the TU Key definition (RUN F3), {VARYMSG2 &TU&TU *&4&} will send TU alone after a completed QSO, and send TU followed by your call only every 4th time. Any function key text before or after the {VARYMSGn} macro string is preserved. So, RTTY users may place the {TX} {RX} macros before and after the {VARYMSGn} macro string. The primary and alternate {VARYMSGn} fields may contain other macros but the two {VARYMSGn} macros may not be nested.


The TNC Interface accepts all of the macros above.

1.1. {END} Macro Examples


The {END} macro signals the program that the remaining {} commands are to be executed when the program returns from sending the CW, SSB or DIGI messages. Here is an example:

  • Message: F1 {STEREOOFF}CQ TEST *{END}{STEREOON}


Whenever the F1 key is pressed, the stereo bit on the LPT port will be set to OFF. CQ will be sent via the current mode, and after the message is complete, the stereo bit on the LPT port will be turned back on. Thus, one can listen to just the second radio while the CQ is being sent, then listen to both radios after it is finished.

 More to send after the {END} Macro?

Only Macros that do not involve sending messages are executed when they are placed after the {END} macro. For example, if you put {MYCALL} or "5NN" after the {END} macro, they will be ignored. Why? Well the message is over, there is nothing more to send. Conversely, all macros that only trigger program functions (don't send messages) are executed before any messages are sent, unless they appear after an {END} macro.

2. CATHEX and CATASC Radio Hex Macro Commands

Macro keyword Substituted by
{CAT1HEX radio_hex_command(s)}

{CAT2HEX radio_hex_command(s)}
These macros can be used to send commands to radio # 1 or radio # 2 requiring hex data input. The macro name must be followed by the radio hex data and closing terminator }. An example is shown below. There must be two hex characters per byte including zero (zero is entered as 00). Spaces are allowed anywhere in the hex command string to make entry and verification easier.
You can not place more than one CAT1HEX or CAT2HEX macro in a message but the message can contain one of each macro. The exception to this rule is when the {END} macro is used. More than one radio command can be sent to the radio by placing a \ character between the radio commands. Spaces are allowed around the \ character. Multiple radio commands are broken into separate radio commands and sent to the radio using internal command pacing.
Depending on the computer speed and the number of commands in the string, the use of these macros may delay the operation of the program during sending of CW or other program operation. There are no precautions which prevent the use of these macros while the radio is transmitting. If the user wants to switch an antenna port safely, use the {ANTRX#TOGGLE} macros which contain a TX inhibit.
An example of an Icom command is: {CAT1HEX FEFE66E01C0102FD \ FE FE 66 E0 1C 01 02 FD }
{CAT1ASC radio_ASCII_command(s)}

{CAT2ASC radio_ASCII_command(s)}
These macros can be used to send commands to radio # 1 or radio # 2 requiring ASCII data input. The macro name must be followed by the radio ASCII data and closing terminator }. An example is shown below. All leading spaces before the radio command portion begins are removed and not sent to the radio. All other spaces in the command are sent to the radio.
You can not place more than one CAT1ASC or CAT2ASC macro in a message but the message can contain one of each macro. The exception to this rule is when the {END} macro is used. More than one radio command can be sent to the radio by either placing a \ character between the radio commands or by concatenating them together. Spaces before or after the \ character are sent to the radio. Multiple radio commands using the \ separator are broken into individual radio commands and sent to the radio using internal command pacing.
Non-ASCII characters may be included in the radio command string by delimiting the two character hex value with < >. The leading < and trailing > characters are not sent to the radio. Spaces are not allowed inside the < > characters. If the ASCII radio command contains characters that are macros (*, !, #), these characters must be sent using this hex notation (replace * with <2A>, ! with <21> , and # with <23>).
Depending on the computer speed and the number of commands in the string, the use of these macros may delay the operation of the program during sending of CW or other program operation. There are no precautions which prevent the use of these macros while the radio is transmitting. If the user wants to switch an antenna port safely, use the {ANTRX#TOGGLE} macros which contain a TX inhibit.
Examples of several forms of this command are: {CAT1ASC PB1;\PB2;} {CAT1ASC PB1;PB2;} {CAT1ASC P<42>1;PB2;} . You may place a space between the macro name and the radio CAT command to improve readability. All leading spaces after the CAT1ASC macro command name are removed. As an example of the use of hex notation, this command contains a macro character {CAT1ASC *UM0} and will not work correctly; the correct form using hex notation would be {CAT1ASC <2A>UM0} . If the radio command needed to be terminated with a CR (Orion), the command would be {CAT1ASC <2A>UM0<0D>}

3. CATAHEX, CATIHEX, CATAASC, and CATIASC Macro Commands

Macro keyword Substituted by
Active radio
{CATA1HEX radio_hex_command(s)}

{CATA2HEX radio_hex_command(s)}

{CATA1ASC radio_ASCII_command(s)}

{CATA2ASC radio_ASCII_command(s)}


Inactive radio
{CATI1HEX radio_hex_command(s)}

{CATI2HEX radio_hex_command(s)}

{CATI1ASC radio_ASCII_command(s)}

{CATI2ASC radio_ASCII_command(s)}
These eight macros's provide flexibility to send ASCII or HEX commands to either radio in SO2R mode (or VFO in SO2V) mode based on Active or Inactive radio/VFO.

Radio specific commands were added for those SO2R users that do not have identical radios. The new macros follow the same syntax as the CAT1HEX and CAT1ASC macros.

The F-key macro text passes through a routine that removes CAT macros for radio(s) that do not qualify based on Active/Inactive radio(s). This allows one F-key string to be used for multiple purposes.

An example of a Pro3 macro string that switches DualWatch and the Rx antenna based on the radio activity is shown below. {catA1hex fefe6ee0 12 00 00fd}{catI1hex fefe6ee0 12 00 01fd}{catA2hex fefe6ee0 07 c0 fd}{catI2hex fefe6ee0 07 c1 fd}
{CATDELAY} This macro suspends the entire program operation to allow CAT commands to be received and executed by the radio possibly before a transmission begins. The need for this macro is dependent on the computer speed, radio interface rate, and radio type. The form of the CATDELAY macro is {CATDELAY N} where "N" is a user programmable delay in 50ms increments. The value of N is internally limited to 20 which would be a delay of 1 second

4. Antenna and Rotor Control Macro Commands

Macro keyword Substituted by
{ANTRX1TOGGLE}

{ANTRX2TOGGLE}

{ANTRX3TOGGLE}

{ANTRX4TOGGLE}
These macros can be used to switch between antenna ports and toggle the receive antenna input on some radios when the program is not transmitting. Some radio models have multiple inputs but lack the CI-V command to control the port so the functionality of these macros is radio dependent. When the {ANTRX#TOGGLE} macro is executed, the numbered antenna port is selected. If the same antenna port macro executed again and the radio is equipped, the receive antenna will be toggled on and off with each macro execution. If the antenna port is switched to another port, the current setting of the RX antenna is stored and used when this antenna is selected again. If only one radio antenna port is used it is only necessary to assign that {ANTRX#TOGGLE} macro to a F-key to toggle the RX antenna on/off quickly.

Supported radios: Yaesu FT950, FTDX9000, FT2000 Icom: IC746, IC746Pro, IC756, IC756Pro, IC756Pro2, IC756Pro3, IC775, IC7700, IC7800 and Elecraft K3, TenTec Orion, Kenwood TS2000, Kenwood TS-590S
{TURNROTOR} Turn the rotor to the direction based on the calculated direction
{LONGPATH} Turn the rotor to the calculated longpath direction
{STOPROTOR} Stop turning the rotor. Note that per the manual some functions are not supported for all rotor brands

5. CW Macros


CW macros are only substituted when used in substitutions for CW buttons.

CW Program Control and Prosign Macros
Macro
keyword
Substituted by
:: < :: Increment CW speed with 2 wpm. See examples
:: > :: Decrement CW speed with 2 wpm. See examples
:: ~:: Send half space character. See examples
::[:: SK prosign      . . . _ . _
:: ]
AS prosign      . _ . . .
+
AR prosign      . _ . _ .
= :: BT prosign      _ . . . _

* the ! Macro: To send the CW code for an exclamation point, substitute a caret ^ in the macro

Special Character Macros
Macro
keyword
Substituted by Macro
keyword
Substituted by
^
. . _ _ .
É
. . _ . .
"
. _ . . _ .
Ü
. . _ _
'
. _ _ _ _ .
Ä
. _ . _
?
. . _ _ . .
Á
. _ _ . _
/
_ . . _ .
Ñ
_ _ . _ _
:
_ _ _ . . .
Ö
_ _ _ .
;
_ . _ . _ .
_
. _ _ . _
(
_ . _ _ .
$
. . . _ . . _
)
_ . _ _ . _
@
. _ _ . _ .
,
_ _ . . _ _
.
. _ . _ . _
-
_ . . . . _
!

 Improving CW Readability

Some calls have letter combinations where it's hard for to copy correctly. E.g. 6Y2A is often copied as BY2A. To help make your call easier to copy, Go to Config > Change Packet/CW/SSB/Digital Message Buttons> Change CW Buttons, and try changing the default F1 and/or F4 message where * is used for your call. In this example, 6Y2A changes F4 from * to>6<~Y2A.
Result: the 6 is sent 2 WPM slower compared to the rest of the call, and an additional half space is added between the 6 and Y. Try other combinations of <, >, or ~ to make your call easier to copy.

5.1. CW Macro Examples

  • Sent the call entered in the callsign field
    • Macro: !
      • Send his call. The callsign entered in the callsign entry field will be sent by the program via the serial or parallel port

  • Sent CQ with your call sent as a macro substitution
    • Macro: cq~test~de~*
      • The time between the words is a half space (~).
      • The * will be replaced with the callsign from the Station dialog {MYCALL}

  • Send part of exchange faster (report sent 6 wpm faster)
    • Macro: <<<5nn>>>{EXCH}
      • The report 5nn is sent 6 wpm faster than the exchange (<<< >>>).

6. SSB Macros


SSB macros are only substituted when used in substitutions for SSB messages. SSB wav file names can be concatenated using a comma.

SSB Macros
Macro keyword
Substituted by
{OPERATOR}
Used to specify different wav files for each operator, to prevent confusion caused by having recorded wav files in a different voice than the operator's voice using the microphone.
See examples

6.1. SSB Macro Examples

  • Send the call entered in the callsign field
    • Macro: !
      • Send his call. The callsign entered in the callsign entry field will be sent by the soundcard. The location of the letter and number files used to make up his call sign is set up in the Configurer under the Files tab. All of the WAV files for the letters/numbers etc. must be present in that folder. See here
  • Let each operator have his own WAV files
    • Wave file name, e.g.: {OPERATOR}\cq.wav
      • If you specify WAV files like: {OPERATOR}\cq.wav , then as you change operators in a multi-operator contest station, the WAV files will change as well. You will have to create a full set of wav files for each operator. Note that the WAV directory syntax indicates a subdirectory under the Wav sub-directory in the N1MM Logger+ user files directory. You can also fully qualify the file name, as in: "C:\Users\[yourWindowslogonusername]\Documents\N1MM Logger+\wav\{OPERATOR}\cq.wav"
      • The {OPERATOR} macro can be concatenated with other characters; for example, if you really wanted to, you could use: {OPERATOR}CQ.wav and keep separately-named files in the same directory:
        • N1MMCQ.wav
        • PA1MCQ.wav
      • Play exchange with operators voice: {OPERATOR}\5905.wav
      • {OPERATOR} is a string substitution that is only implemented for SSB messages


7. SO2V/SO2R Macros


SO2V/SO2R macros are only substituted when SO2V or SO2R is selected. The {CTRLFx} macros work only in SO2R mode, because their functionality is not useful in SO2V.

Single Op 2 VFO and Single Op 2 Radio Macros
Macro keyword
Substituted by
{ACTIVEAUDIOTOGGLE}
Toggles the muting and unmuting of the AF gain on the active radio. This works only on radios that support this capability via the radio control port
{INACTIVEAUDIOTOGGLE}
Toggles the muting and unmuting of the AF gain on the inactive radio. This works only on radios that support this capability via the radio control port.
{ACTIVEAUDIOON}
Unmutes audio on the active radio; same limitation as above
{ACTIVEAUDIOOFF}
Mutes audio on the active radio
{INACTIVEAUDIOON}
Unmutes audio on the inactive radio
{INACTIVEAUDIOOFF}
Mutes audio on the inactive radio
{OTHERBAND}
Sends the band of the other (inactive) VFO/radio (e.g. 80)
{OTHERMHZ}
Sends the frequency of the other (inactive) VFO/radio in MHz (e.g. 3.5 and 3R5 in CW)
{OTHERFREQCUT}
CW only. Sends last digits of the frequency of the other (inactive) VFO/radio as cut numbers. Uses the cut number style selected in Configurer
{JUMPRX}
Change the RX focus to the other input window. If only one input window is shown the second window will be opened
{WIPE}
Wipe the focus window. If the entry boxes are all empty, restores the last wiped contact ("unwipe")
{ADVSO2RON}
Turn 'Advanced SO2R' on. See Chapter 'SO2R'
{ADVSO2ROFF}
Turn 'Advanced SO2R' off. See Chapter 'SO2R'
{CTRLFX}
SO2R only. Works with RTTY and CW. Sends on the other radio. Thus a CW Button might look like: "tu EXCH{CTRLF9}" where F9 on the other radio is set to send a CQ. It is important to note that via hotkey Ctrl+Shift+L will turn this feature on or off. When off the CTRLFn macro is ignored. Entry focus moves to the other radio only when the callsign field on the current radio is empty.
{CONDJUMP}
When RX and TX focus are split between two radios, and the user hits the Enter key, TX focus is first moved to the radio with RX focus. The CW message is sent. After the CW message has been completed, TX and RX focus are both moved to the other radio. When RX and TX focus are not split between radios, and the user hits the Enter key, the CW message is sent. When the CW message has been completed, TX and RX focus remain unchanged.
Typical usage in Sprint is: Run F3: TU {END} {CONDJUMP}
{QSYCQ}
Allows QSYing to the last CQ frequency on the focus radio
{STOPTX)
In specialized SO2R scenarios, forces PTT to be released. Rarely needed, and not for SO1R use.

8. Multi-User Macros


Multi-User macros are only substituted when in Multi-User mode.

Macro keyword Substituted by
{MESSAGE}
Send a message (via function key) to other connected stations over the network. See examples
{PASS 0}
...
{PASS 15}
Pass frequency from station 0 (Master station) through station 15. The Pass frequency is rounded to the nearest kHz
{PASS 1800}
...
{PASS 28000}
Insert pass frequency for first connected station found on that band. Valid values are PASS 1800, 3500, 7000, 14000, 21000 and 28000
{PASSMSG 0}
...
{PASSMSG 15}
Pass last QSO information from station 0 (Master station) through station 15

8.1. {MESSAGE} Macro Examples


The {MESSAGE} macro sends a message (via a function key) to other connected stations over the network. The info will be shown in big red letters in the Info window from the receiving station(s). Place a number directly after the {MESSAGE} macro if you want to send the message to one specific station. If you don't want to send to a specific station, but want to start your message with a number put "- " in front of the message. Because "*" is used by macro substitution to indicate a callsign, you cannot put a * a the beginning of a message to indicate that the message should be sent to all stations. Since sending to all stations is the default behavior, this is not a problem. Just don't start the message with a number if you want to send the message to all stations.

{MESSAGE} Macro Examples
Button text Macro
F8 Pass station
{MESSAGE}2 {TIMEGMT} {PASS 1} {CALL} {GRIDSQUARE} {GRIDBEARING}deg. {KMGRIDDISTANCE} km.
Message sent to station 2 with info about the station in the callsign field. This is a macro which could be used in VHFREG1 where a station is sent from one band to another
F8 Pass station
{MESSAGE} {TIMEGMT} {PASS 1} {CALL} {GRIDSQUARE} {GRIDBEARING}deg. {KMGRIDDISTANCE} km.
Message sent to all connected stations with info about the station in the callsign field
F8 OK
{MESSAGE}2 OK. Send OK to station 2

9. Digital (RTTY and PSK) Macros


The following substitutions will be made when sending function key.
In the Digital interface the macros below can be used but also all other macros shown under general macros.

Macro keyword Substituted by
{TX}
Start transmission in the digital interfaces (needed to transmit!) Needed at thebeginning of every Digital macro!
{RX}
Switch to receive in the digital interfaces (needed to get back to receive). Needed at the end of every Digital macro!
{CLRRX}
Clear the RX window. This macro can be used either alone or after an {END} macro.
{CLRTX}
Clear the TX window.
{SCQ}
Placed at end of TU macro, resume CQ
{GRAB}
Grab first callsign from grab callsign window
{DELALL}
Delete all entries from grab callsign window
{DELTOP}
Delete Top Entry from grab callsign window
{DELSEL}
Delete highlighted entry from grab callsign window
_
(Underscore) MMTTY only. Send an idle tone
^
Send the ! character (! sends the other station's call; use ^ to put a ! character in a message)
{FILE:xxxx}
Send a textfile. xxxxx is replaced by the name of the text file and the text file needs to be in the N1MM Logger+ user files directory. The macro works any place in a macro string. If the text file only contains one line it does not add CR to end of line. When the text file contains multiple lines the CR from the last line will be removed so the following text will be on the same line. Multiple {FILE:xxxx} macros are allowed in one macro string
{LDIGFQ}
Left Digital Interface Frequency
{RDIGFQ}
Right Digital Interface Frequency
{PREVTIME}
Send previously sent time (for ANARTS and BARTG and similar contests)
{ALIGN}
Move signal into bandpass range. Does the same as Align Buttons on Digital Interfaces and the PSK Engine
{PROFILE0}
MMTTY only. Reset to HAM default definitions for RTTY mark, space, width
{PROFILE1}
...
{PROFILE8}
MMTTY only. {PROFILE1} through {PROFILE8} in the function keys at the start of a CQ or S&P macro will change MMTTY's profile. This way it is possible to have one profile for CQing and another one for S&P or however you want to set them up
{HXXXX}
HAL DXP38 only. The DXP-38 commands are in the form of Hex that look like $80 $EA. This macro substitution takes the text string in the form of {HXXXX} or {H80EA} and converts this to the appropriate command that should be sent to the TU. See the RTTY chapter for more HAL DXP38 info
{DI1}...{DI24}
Send text assigned to the digital macro keys DI-1 to DI-24 on the Digital Interface
{LOGTHENGRAB}
Run Mode only. Log the current contact and grab the top callsign from the Grab window of the DI. If the grab window is empty, logs the current contact and then switches to the TU key message instead of continuing with the rest of the message containing {LOGTHENGRAB}
{DIGQTCR}
WAE contest only. Open Digital QTC Receive window
{DIGQTCS}
WAE contest only. Open Digital QTC Send window
{ALT-T}
Same as keyboard ALT+T - Toggle TX/RX state
{ALT-Q}
Same as keyboard ALT+Q - Return to CQ frequency
{ENABLEAFC}
Turn AFC on
{DISABLEAFC}
Turn AFC off
{ENABLENET}
Turn NET on (not applicable in FSK)
{DISABLENET}
Turn NET off

 Always use {TX} and {RX} together

Use {TX} and {RX} together in your macros. Otherwise, {TX} alone in a macro will cause the radio to remain in transmit until you press an RX button or the ESC key

 TNC - Clear Buffer After Abort

It is best to add the command that your TNC uses to clear the transmit buffer to the end of your Abort Macro. If not, the transmit buffer still holds the remaining characters that were left in the sent string and will get sent the next time the TNC sends.

9.1. RTTY and PSK Macro Examples

Example Function Key Macros
Function Macro
Log the contact, grab a call from the Grab box and give an exchange to the next station.
If the Grab box is empty, this macro will log the contact and just send the TU message instead.
{TX}{ENTER} ! {LOGTHENGRAB} TU NW {F5}{F2}{RX}
Log the contact, pull the next callsign from the call stack and send the exchange to him (see Single Operator Call Stacking).
If you want to stack another station that has called you, just Alt-Click on the call in the RX window and it will be placed on the call stack where you can get it with this macro.
{TX}{ENTER} ! {LOGTHENPOP} TU NW {F5}{F2}{RX}

Example Macros for the PK-232 (Digital Interface window)
Button text Macro
Abort
{CTRL-C}R{ENTER}TC{ENTER}
TX
X{ENTER}
RX
{CTRL-D}
Band Up
RB U{ENTER}
RxReverse
RXREV T{ENTER}

Example Function Key Macros for the PK-232 (Entry window)
Mode Button text Macro
Running
F1 CQ
X{ENTER}CQ CQ CQ TEST DE {MYCALL} {MYCALL} K CQ{CTRL-D}
Running
F2 Exch
X{ENTER} ! UR 599 {EXCH} 599 {EXCH} BK{CTRL-D}
Running
F3 Tnx/Qrz
X{ENTER} ! TU GL DE {MYCALL} QRZ{CTRL-D}
S&P
F1 {MYCALL}
X{ENTER}! DE {MYCALL} {MYCALL}{CTRL-D}
S&P
F2 Exch
X{ENTER}! UR 599 {EXCH} 599 {EXCH} GL DE {MYCALL}{CTRL-D}

Example Macros for the KAM
Button text Macro
Abort
{CTRL-C}R RTTY {ENTER}
TX
{CTRL-C}T
RX
{CTRL-C}E

Example Macros for the SCS PTC (Digital Interface window)
Button text Macro
Abort
{ESC}CLR{ENTER}{CTRL-D}{ENTER}
TX/RX
{CTRL-Y}
RX-Reverse
{ESC}TR 1{ENTER}
RX-Norm
{ESC}TR 0{ENTER}
45 Baud
{ESC}BAU 45{ENTER}
75 Baud
{ESC}BAU 75{ENTER}
Command mode
{ESC}Q{ENTER}
- - -
- - -
RTTY
{ESC}Q{ENTER}BAU{ENTER}
PSK31
{ESC}Q{ENTER}PSKT{ENTER}
CW
{ESC}Q{ENTER}CWT{ENTER}
AMTOR
{ESC}Q{ENTER}AMTOR{ENTER}
PACTOR
{ESC}Q{ENTER}PT{ENTER}
PACKET
{ESC}Q{ENTER}PACKET{ENTER}

Example Function Key Macros for the SCS PTC (Entry window)
Mode Button text Macro
Running
F1 CQ
{CTRL-Y}CQ TEST DE * * * k{ENTER}{CTRL-Y}
Running
F2 Exch
{CTRL-Y}! HI 599 {EXCH} {EXCH} K{CTRL-Y}
Running
F3 CFM
{CTRL-Y}! QSL TU DE * QRZ? K{CTRL-Y}
S&P
F1 {MYCALL}
{CTRL-Y}! DE * * K{CTRL-Y}
S&P
F2 Exch
{CTRL-Y}DE * TU 599 {EXCH} {EXCH} GL DE *{CTRL-Y}

Example Function Key Macros for MMTTY (Entry window)
Mode Button text Macro
Running
F1 CQ
{TX} CQ CQ CQ TEST DE {MYCALL} {MYCALL} K CQ {RX}
Running
F2 Exch
{TX} ! UR 599 {EXCH} 599 {EXCH} BK{RX}
Running
F3 Tnx/Qrz
{TX} ! TU GL DE {MYCALL} QRZ {RX}
S&P
F1 {MYCALL}
{TX} ! DE {MYCALL} {MYCALL}{RX}
S&P
F2 Exch
{TX} ! UR 599 {EXCH} 599 {EXCH} GL DE {MYCALL}{RX}
Send CQ
on new line
F1 CQ
{TX}{ENTERLF} CQ DE {MYCALL}{RX}

10. Packet/Telnet Macros


Packet/Telnet macros are only substituted when used in the packet/telnet buttons.

Macros for use in packet/telnet buttons
Macro keyword Substituted by
{WAIT}
Wait 5 seconds (fixed value)


Macros for use in 'Comment For All Spots' (in Telnet/Packet window).

Macros for use in 'Comment For All Spots' (in Telnet/Packet window)
Macro keyword Substituted by
{GRIDSQUARE}
Gridsquare from grid textbox in Entry window
{MODE}
Mode used during contact in Entry window
{QTH}
QTH from section/qth textbox in Entry window
{ZONE}
Zone for state/province/section/oblast/other textbix in Entry window