Macros are a great way to handle repetitive operations in the digital modes. They allow you to pre-define operating procedures and execute them with just a click of the mouse. It’s much more convenient to just click on a macro to send a CQ call rather than type in the call each time.

DM-780 contains a Macro Manager tool that allows you to set up and maintain an unlimited number of macro sets to handle these procedures. When installing DM-780 for the first time you will find a default set of macro definitions. This is usually a READ ONLY file and should be kept as a template to build other editable sets. Sets can be made mode specific for CW, PSK, RTTY or set up for contesting exchanges. The uses for macros are almost unlimited.

When you create a custom set of macros it’s recommended that you not only save the set within the DM-780 directory but also in an external directory, such as in a folder in your Documents. In the event you have to re-install HRD from scratch, having the macro sets saved in an external folder will eliminate the need to re-create the sets. You can just load them from the external folder and save them back into the DM-780 program folder.

Macros can be accessed from either a toolbar located between the Receive Pane and the Transmit Pane of DM-780 or from a macro pane which can be pinned to the display. This choice is yours.

Macro Toolbar

Between the Receive pane and the Transmit pane, just below the Transmit toolbar, you will find the Macro toolbar. Left clicking on any one of the Macro buttons will automatically transfer the contents of the macro to the Transmit pane and depending on how the individual macro is configured, it will AUTO SEND the contents or wait till you press the SEND button to transmit the contents.


From here we can send a macro by clicking on the macro button or we can edit individual macros by right clicking on the macro button which will take you directly to the Macro Editor. For this part of the documentation we are going to use the Macro Manager by clicking on the far right icon called Macros then click on the drop-down option Manager.

Macro Manager


Above is a screen shot of the Macro Manager with the Default macro set displayed. From the Macro Manager you can edit the contents of individual macros, create new sets, modify the macro toolbar and edit how each macro functions.

Tool Layout

In the bottom portion of the Macro Manager you will see three columns.


The first column manages how the toolbar appears on the main display. With a tick in the “Button” option, the macros are shown on the toolbar as individual macro buttons.
With the tick in the “Popup” option, the macros are displayed as GROUPS with a dropdown menu for each group to select the macros within that group.
The next option under appearance is “Icons”.
  • If the function of a macro is set to “Send Immediately”, an arrowhead is placed to the left of the macro name in the toolbar.
  • If it is set to “Erase TX Window” after sending, there will be an “Eraser” icon in front of the macro name.
  • If both are ticked, both icons will appear.
  • If the macro is a Radio Control macro, another icon will appear to designate the macro as a control macro.
In the Macro Manager screen you will see a column named “GROUP”. Each macro is assigned to a group. Under the Macro Pane heading there is a check box to display the macros in order of groups. You also see a check box for showing the macro set title. This title is displayed on the toolbar and also at the top of the macro pane.
The third column shows First Name. When a call is looked up and the data is entered in the ALE the contacts full name usually appears in the Name field of the ALE. By checking the box under First Name, when a macro is sent that contains the <his: name> tab, instead of sending the contacts full name, the macro will only send the contacts first name.

Page-215-Image-431.png Macro Manager toolbar

Above is the Macro Manager toolbar.
  • The New icon opens an empty Macro Editor window.
  • Copy allows you to highlight a portion of one macro definition and paste it into another macro.
  • Highlighting a macro and clicking the Edit button brings up the Macro Editor and allows you to edit an individual macro.
  • Highlighting a macro and clicking the Delete icon deletes the macro from your list.
  • Highlighting a macro and pressing the up or down arrow on the toolbar moves the icons position up or down in the list.
  • Clicking on the Import icon brings up a drop-down menu of the ten macro sets in DM-780. This can be used when creating a new macro set. You can create an empty set then Import an already created set into the blank one to use as a template to edit the new set.
  • Clicking the Defaults icon loads the Default set of macros.
  • If you have created more than ten sets of macros, you have the ability to Save these additional sets to some location of your choice. Once the set is created click the Save As icon to save the set.
  • The Load icon allows you to load any macro sets you have saved. These functions give you the ability to have an unlimited number of macro sets.

New Macro Sets

This next section will deal with creating a new macro set. As mentioned before, it’s always best to keep the default macro set as a template. This can remind us of the format for each macro.


To create a new macro set, just above the window that contains the macro definitions, you will see a field called Macro Set. This is a drop-down field which currently contains the word Default. Clicking on the drop-down arrow in the field brings up a box containing 10 macro sets. Some of these sets may already have names assigned, which indicates there are already macros created within the set.
Select an empty set from this drop-down menu. Usually a name like Set followed by a number is an empty set.
Let’s say for example that you select Set 4. Clicking on Set 4 will bring up an empty editor screen with Set 4 showing in the Macro Set field. To the right of this field you will see a button that says Set Title. Clicking on the Set Title button will bring up a box where you can enter a name for this group of macros.


In our example, let’s name this new set My PSK so type this name over the name currently in the Set Title box and click the OK button. My PSK now appears in the Macro Set field. We are now ready to create the individual macros for this set.
We now have an empty macro set named My PSK in the Macro Manager. Since we’re new to programming macros we are going to use the Default set as a template to make our My PSK macro set.
On the Macro Manager toolbar click the Import macro. A drop-down box will appear and from that, place your cursor on Default and click the left mouse button. A new dialog box will pop up asking you if you want to Replace My PSK with Default or Add Default to My PSK.
Since we’re starting with a blank set it really doesn’t matter which you select. If you had macros already in this set and just wanted to add the Defaults to those you would select the Add option, or if you wanted to replace them you would select the Replace option.


With the Macro Editor, we create each individual macro and set how it executes. Here is a brief explanation of the various functions available in the Macro Editor.
Macros contain free-format text with optional tags. Tags are enclosed within angle brackets <> and contain:
  • Information about yourself such as your callsign and name - taken from the Tags window,
  • Information about the other station such as his callsign and name - taken from the Add Log Entry (ALE) window,
  • Special tags such as the date and time.
<his:callsign> <his:callsign> de <my:callsign>
73's and thanks for the <my:mode> QSO k
In this example <his:callsign> is replaced with the value in the Callsign field in the Add Log Entry window and <my:callsign> is replaced with the value in the Callsign field in the Tags pane of the QSO window. (Select Tags from the QSO menu to display the Tags pane.) The tag is replaced with the current mode (PSK31, RTTY etc.) as shown in the mode dropdown in the QSO window.
So if HB9DRV is working GD4ELI using RTTY the actual text sent is:
73's and thanks for the RTTY QSO k

Adding Tags

To add a tag to the current macro:
  • Position the cursor in the definition field where the tag is to be inserted.
  • Make sure Tags is selected in the tab strip.
  • Double-click on an entry - the my: and his: prefixes are added automatically.


The extra options are:
  • Send immediately - when the macro is selected DM780 starts sending.
  • Autostop - switch to receive when the macro is sent.
  • Start on new line - make sure the text starts on a new line.
  • Erase TX window - erase the contents of the TX window when selected.

Load Text from File

When you select this option the text
is added to the macro. Replace YOUR-FILENAME-HERE with the full path of the filename. The contents of the file replace the text between the <file:...> and <eof> tags. This option is typically used for sending weather reports from automatic weather stations.
Now we’ll create a macro that does a CQ call. The first thing is to create a title for the macro. In this case, the title will be CQ. Type the title in the title box at the top of the editor.
The next field is “toolbar Title”. This is the title that appears on the macro button. Since we are going to have this macro do a CQ call two times, we will make the toolbar Title CQ X2, again without the quotation marks.
We’ll now create a Group for this macro. Let’s call this group CQ. Enter CQ in the Group field.
If we want to make sure this macro is going to be Enabled on the macro toolbar, we need to place a check mark in the box to Enable the macro. This box is just to the right of the macro title field.
In the large yellow area we can now build our macro. Place your cursor in the editor area and type CQ CQ CQ DE. Hit the space bar after the DE and look down at the Tags list. In the My Tabs column you will see callsign. Double-click on callsign and you will see the <my:callsign> tag displayed in the editor after the DE. Your macro will look something like this….. CQ CQ CQ DE <my:callsign>. Place the <my:callsign> in the macro two more times, making a space between each tag. Immediately after entering the last tag press ENTER on the keyboard and repeat the sequence.
After entering the second CQ call, place PSE K and from the Special Tags column, double click on the Stop to place the <stop> tag at the end of the macro. Your finished macro should look like:
CQ CQ CQ DE <my:callsign> <my:callsign> <my:callsign>
CQ CQ CQ DE <my:callsign><my:callsign> <my:callsign> PSE
K <stop>
When you’re finished entering your macro definition we can now set the macro options. For this macro, under the Macro Options, located on the right of the upper portion of the macro editor, place a check in all four options. These options determine how the macro is transmitted. It will start transmitting immediately when you press the macro button, it will begin on a new line, it will automatically stop at the end of the text and erase the transmit window when finished executing.
To save the macro just click the OK button in the lower left corner of the editor and you will be returned to the Macro Manager screen.
Now we’ll talk just a bit about some special tags used within macros. There are several of these tags that perform various operations. Some are used in standard macros and some are used to create Rig Control macros.

Reed-Solomon IDs

This idea was originally developed by Patrick Lindecker, F6CTE.
The Reed-Solomon ID (RSID) is a short 16-tone MFSK transmission which identifies the mode in use. The RSID transmission is about 180Hz wide and lasts for just less than two seconds.
You should enable RSID when using an 'exotic' mode such as Olivia so that users of programs with RSID support know what mode you are using.
For a full list of modes supported by this program look in the Program Options for Modes + IDs.
There are two ways to enable RSID:
  • In Program Options select Modes + Ids and check the option to show the RSID button in the transmit toolbar. Clicking this button will transmit the RSID at the beginning of each transmission you make.
  • Add the tag <rsid> anywhere in the text being sent. By adding this tag to a macro, the RSID will only be sent when the macro is executed.

Insert Video ID

A special feature of DM780 is the ability to send an ID string which can be read in the waterfall - for more information select Modes from the Program Options in the main menu and toolbar. Many thanks to Dave Freese W1HKJ for the original design and coding in fldigi.
The Video ID bandwidth is ~ 80Hz.
When you select Insert Video ID the text
is added to the macro, the <ident> tag must be at the start of the macro. Replace YOUR-TEXT-GOES-HERE with the text to be sent, for example:
  • Callsign: <ident:HB9DRV>
  • CQ: <ident:CQ>
  • 73: <ident:73>
There are two special options:
  • Call: replaced with the callsign in the tags window, and
  • Mode: replaced with the current mode.
Whatever you send - keep the text short!


<ident:call>CQ CQ CQ de HB9DRV HB9DRV HB9DRV pse K


<ident:mode>CQ CQ CQ de HB9DRV HB9DRV HB9DRV pse K


<ident:CQ>CQ CQ CQ de HB9DRV HB9DRV HB9DRV pse K


<ident:73>G4POP de HB9DRV 73 and thanks for this QSO

Radio Control

A radio control macro contains commands sent to Ham Radio Deluxe to configure your radio, for example to set a special filter. The text in the definition is not added to the input (TX) window. These definitions are specific to the radio you are using.
The tag {{RADIO-CONTROL must appear anywhere in the macro definition. If you have added this by mistake just remove the lines containing the tag.
The easiest way to add entries is to use the Radio window, as you select options in the Radio window the options are sent to Ham Radio Deluxe and the corresponding text is added to the definition (remember to press the Connect button in the Radio window). Only add one entry per line.
Note: Lines starting with # are treated as comments and are not passed to Ham Radio Deluxe. Blank lines are ignored.


There are four command types:
  • Center frequency on/off,
  • Drop down (menu) buttons,
  • Normal press buttons,
  • Sliders.
To simplify the command parsing any spaces in the button / slider names are replaced with a tilda (~). Slider entries contain the radio title, this is for historical reasons.

Center Frequency

  • center-on
  • center-on 1750
  • center-off
To enable the current center frequency option in the waterfall enter center-on.
Note: The center frequency option must be enabled (checked). To specify the center frequency just add the frequency in Hz after the center-on tag, for example center-on 1750.
To undo the center frequency option and restore the previous radio frequency enter center-off.
The center-on and center-off text must be the only entry on the line. Typically you combine these options with a filter settings, for example when enabling the center frequency option a narrow filter is selected, when undoing a normal (wide) filter is selected.
# For the TS-2000
# Set the center frequency to 1250Hz, adjust DSP filtering
# to Low = 1000Hz, High = 1400Hz.
center-on 1300
Set slider-pos TS-2000 DSP~low~cut 11 // DSP low cut = 11
Set slider-pos TS-2000 DSP~high~cut 0 // DSP high cut = 0

Drop down-Button

When you select an entry from a drop down button it is added to the end of the definition. Existing entries for the same drop down button are not overwritten as a drop down button can contain unrelated commands.

Press Button

When you press a button the editor first tries to replace an existing entry for this button; if there is no entry then a new entry is added to the end of the definition.

Return to Ham Radio Deluxe User Guides