The DM-780 Macro Toolbar is located immediately below the Transmit toolbar, between the Receive Pane and the Transmit pane in the Digital master main screen.



The macro buttons can be shown on the macro toolbar in two different ways. They can appear as popup buttons, as shown above, where the "Group" button is shown. When you click on the "Group" button, a popup menu will show the individual macros assigned to that group.


It's also possible, rather than display "Group" buttons, to display the individual macro buttons on this toolbar, as shown below. To execute a macro, it's just a matter of clicking on the macro's button, or in case you're showing the popup buttons, click on a "Group" button and click the "macro" you wish to execute from the popup.



Macro Toolbar Menu



Notice the macro button on the right end of the Macro Toolbar in both displays. This button shows the name of the currently active macro "Set". Clicking on this button provides access to the Macro Toolbar Menu. From this menu you are able to select which macro set you would like to use, along with buttons to select how the macros display on the toolbar (button or popup).


You will notice there are two macro sets defined. The "Default" set, which is currently selected, and the PSK Contest set. Sets 3 - 10 have not yet been configured and are "empty" sets containing no macro definitions.


This menu also gives you access to the Macro Manager.



Before using macros in DM-780 you should begin by creating your own personalized macro libraries or sets. This is easily accomplished by using the Macro Manager.


Creating A New Macro Set


As stressed earlier, you should keep the "Default" macro set intact to be used as a template for creating your own custom sets. We also covered the various parts of the Macro Manager and Macro Editor, so we're going to jump right into creating a new macro set.




Open the Macro Manager from the macro toolbar. When it opens, locate the "Macro Set" dropdown and since "Set 3" has not yet been configured, click on "Set 3" to open it in the Definitions window. At this time, Set 3 will not contain any macro definitions.




To the right of the "Macro Set" field, click on the "Set Title" button. Here is where you define he title of this new macro set. Enter "My Digital" in the title box and click the [OK] button. In the Macro Set field, the title will

change from Set 3 to "My Digital"



On the Macro Manager toolbar, click the "Defaults" icon to load the Default macro set into our newly created "My Digital" set.


We have now created a completely new macro set, containing the default macros, and can continue editing the template macros to suite our own operating preferences.


Using Macro "TAGS"


When opening a macro in the Macro Editor, you will see an area below the Definition window with several tabs across the top.



The first tab is marked "TAGS" and there are three columns, My Tags, His Tags, and Special Tags. These are place holders, put into a macro, which pulls data from other



parts of the HRD software and places that data at the location of the "tag" when the macro is executed.


My Tags - The tags under this column come from the Logbook "My Station" and from within the DM780 "Tags" information window. These are all about your own station.


His Tags - The tags under this column is for information about your contact and comes from the DM780 "ALE" (Add Log Entry) screen. If you have contact lookup options configured in your logbook, when your contact's callsign is entered in the ALE, a lookup is done and the ALE is populated with his personal information. Other items in these tags transmits the mode, received and sent signal reports and other data that you enter manually in the ALE so it is logged in your logbook at the end of the QSO.


Special Tags - Tags in this column enter special functionality and other data into the macro. For example, if you put the <date> tag into your macro, when the macro is transmitted, it will insert the current date, configured as it is in the Windows OS, into the position where the tag is placed. If you enter the <qso-mode> tag, the current operating mode (PSK,RTTY, CW, etc. ) is entered in the macro when transmitted. The description of what the tag places in the macro follows the name of each tag in the column.


In order to place a "tag" in a macro, it's just a matter of placing your cursor at the spot in the macro definition window where you want the tag placed and left click. You then move your cursor down the the appropriate column, and double-left-click on the tag you wish to enter at that position.


Editing The Macros


Macros contain free-format text with optional tags or special code to send commands to the radio for such things as switching filters, etc.


Optional Tags are listed and defined in the lower portion of the editor screen. Within the macro these tags are enclosed within angle brackets <> and contain:

  1. Information about yourself such as your callsign and name - taken from the Tags


  1. Information about the other station such as his callsign and name - taken from the Add Log Entry window,
  2. Special tags such as the date and time, contest counter, QSO number, etc


To add one of these special tags to the current macro:

  1. Position the cursor in the definition field where the tag is to be inserted.
  2. Make sure Tags is selected in the tab strip.
  3. Double-click on an entry - the my: and his: prefixes are added automatically.


In the area to the right of the macro editing window four setting options are available for each macro. :



  1. Send immediately - when the macro is selected DM780 starts sending.
  2. Autostop - switch to receive when the macro is sent.
  3. Start on new line - make sure the text starts on a new line.
  4. Erase TX window - erase the contents of the TX window when selected.


Looking at the entire macro you will notice the use of the Tags we mentioned earlier. You can see the Tags in the lower portion of the editor screen. There are three columns. My, His, and Special Tags. In order for these Tags to work properly the information MUST be available.

The My Tags pulls their information from the QSO Tags entry screen you filled out earlier in the setup. The His Tags pulls their information from the Add Log Entry panel, so, you need to have added your contacts callsign and either use an automatic look-up done or manually type in the information in the ALE.


In the macro:

<his:callsign> de <my:callsign> - In this line <his:callsign> pulls your contact's callsign from the ALE and <my:callsign> pulls your callsign from the QSO Tags.


<his:name>, my station - In this line,   <his:name> comes from the ALE and the remainder of the line is typed from the keyboard. In the Macro Manager, if you have the option checked to use First Name only, this macro will insert your contacts first name, if you don't have that option selected the macro inserts his FULL name as it appears in the ALE.


Radio    : <my:radio>, <my:power>, <my:interface> Software : HRD + <my:program>

Antenna : <my:antenna>

In the above lines, everything to the left of the tags is manually entered from the keyboard then the tags are added by leaving your cursor at the position you want the tag, select the tag from the My Tag list, double-click on it and it will be placed in the macro at the position your cursor is holding.


Operator : Created 1957, licensed 1974

My QSL is OK via or via the bureau. BTU <his:callsign> de <my:callsign> kn <stop>


The lines above are all entered from the keyboard with exception of the tags in the last line.


Let's start with a simple edit. Use the scroll bar in the edit window to scroll down the macro to find the line that says "Operator : Created 1957, licenced 1974". This editor works just like any simple text editor, so, where it says you were Created in 1957, change that year to your birth year. Next you can edit the spelling of Licenced to Licensed and change the year to the year you got your ham license.


Title, Toolbar Title, Group changes




The Title, Toolbar Title and Group can also be edited in the Macro Editor. To edit the Title and Toolbar Titles,  just highlight the current text and type new text.  To change the Group just click on the drop-down arrow and select a group or you can type in a new group if you like. We will change the Titles but leave the group the same in our example.



Additional Macro Options

Once we have the macro edited the way we want it we need to set the macro options.


To the right of the edit window you see the Macro Options. Clicking in the appropriate check box makes the macro act in a certain way. In this case, all four options are selected, so that when you execute the macro, it will start sending immediately, start on a new line, will automatically stop when all text is sent and erase the Transmit window. Using these options eliminates the need to include the tags <stop> and <erase> in the actual macro definition, as it shows in the example we have been working with.


If you had a macro that sent <his:callsign> de <my:callsign> and didn't want it to autostop so you could manually type in text after the call, you would NOT have the Autostop option checked for this macro. When executed, the macro would send his callsign, DE, your callsign then the cursor would just pause and the transmitter will stay keyed, waiting for input from the keyboard. When your finished typing, you could have a macro named BTU (Back To You) that would look like: BTU <his:callsign> de <my:callsign> K and have all 4 options checked. Since there would be no more data in the text buffer, this macro would erase the transmit screen and the radio would go to the receive mode.


You could also send multiple macros by clicking on the individual macros, one right after the other, not waiting for the previous one to finish sending, and even if each macro has all four options set, DM-780 will continue transmitting until the transmit buffer is empty before it switches back to the receive mode.


You also have some special options available in the Macro Editor.


Reed-Solomon IDs

The 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:


  1. 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.


  1. Add the tag <rsid> at the beginning of a CQ macro. By adding this tag to a macro, the RSID will only be sent when the macro is executed.


Adding the RSID tag to the CQ macro is the preferred method as opposed to setting it on the toolbar so it transmits at the beginning of every transmission. Some operators will certainly forget to toggle the RSID off from the toolbar, and, it is a little annoying to have the popup or the link pup up on every transmission.



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:WA9PIE>
  • *       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 WA9PIE WA9PIE WA9PIE  pse K



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



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



<ident:73>G3YPP de WA9PIE  73 and thanks for this QSO



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 which are constantly being updated.


If you have one of the weather stations that connect to your computer and creates a standard TEXT file reporting conditions you can transmit that file easily without having to update a macro each time the text file is updated. You would just put the above tag in you macro and where it says YOUR-FILENAME-HERE, replace that with the FULL path and file name of the text file. For example you have a folder on your C: drive called WEATHER and you weather station creates a text file called WX.txt. Your tag would be:



Radio Control

Special macros can also be created for 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.


Radio Control macros should NOT contain anything except the Radio Control Codes. 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.


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,
  • *      Dropdown (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 1250.


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.


To create the Radio Control Macros, first, bring up the Macro Manager. Select the macro set where you want to place this macro (My PSK if you're using our examples). On the Macro Manager toolbar, click the NEW button to create a new macro.




You should now have an empty macro screen.


In the Title field type "Set DSP Filter" without the quotation marks. In the Toolbar Title type "DSP Set" .

In the Group field highlight the current text and type "Radio Control" and hit your TAB key.


Under the Options, click on the Radio Control button. You will now get a popup that asks you if you want to continue creating a macro that sends commands to Ham Radio Deluxe.

Click on YES.


The Radio pane will now pop up on your screen. At the top, if it is not already connected, click on the Connect to Radio button. Once you do that, your screen should look like the next illustration.


Create Radio Control Macro


IMPORTANT NOTE: Radio Control macros can only be generated for radios that are supported by HRD. HRD must contain your radio's command set and you must have them set active in the Radio Panel to be able to use them In this example we are using a TS-2000 command set.


In the editor type the command "center on 1250" without the quotes. It should look like the text below.


#++ #


# For the TS-2000




# Set the center frequency to 1250Hz, adjust DSP filtering # to Low = 1000Hz, High = 1400Hz.

# #--


Center-on 1250





On the Radio Panel, adjust the DSP low cutoff filter slider to 1000 then adjust the DSP high cutoff to 1400. The code is automatically generated and the following two lines should appear in the editor.


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

Your entire macro should look something like this: #++



# For the TS-2000 #

# Set the center frequency to 1250Hz, adjust DSP filtering # to Low = 1000Hz, High = 1400Hz.

# #--

Center-on 1250

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


At this point, we are now finished creating our macro so to save it into the set, make sure the ENABLE box is checked and press the OK in the lower left corner of the editor.


You will now see the button we just created in the current set of macros in the Macro Manager. Make sure it is set to ACTIVE by putting a check in the Enable check box.  Click OK in the lower left corner of the Macro Manager and your new macro will appear on the toolbar with the rest of your macros in this set.


Here is a brief description of how the controls on the Radio Pane relate to entering commands in a Radio Control macro.




When you select an entry from a drop-down button it is added to the end of the definition. Existing entries for the same dropdown 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.



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


Contest Macros

It seems the most confusing part of the macros are the ones for contests. Here we will attempt to explain them in a very simple way.

In the picture below is you can see the ALE and a notepad screen with a typical contest exchange.


Contest QSO

Explanation: PD9FER sends out a CQ Test call

G3YPP answers sending a signal report of 579 and a serial number/contact number of 023 and Country designator of GB.

PD9FER responds sending his signal report, 599 and contact number 010 + country PA, then acknowledges (QSL) reception of G3YPP 's 579 report and 023 contact number + Country.

When G3YPP sent his transmission, PD9FER highlighted the 579 signal report, clicked the right mouse button and clicked on the option Rcvd. This placed the signal report in the window indicated by the arrow coming from the 579 in the text display to the Rcvd RST field. The same is done with the 023 contact number only when you right click you select Rcvd SRX. 

In this case also a country code exchange took place and is defined by Rcvd Exch.

These values could also be manually entered from the keyboard, but they MUST be entered at the time received and before sending you respond.

To transmit the exchange EXACTLY the way it appears in the diagram above, the macro would be:

<his:callsign> de <my:callsign> <his:sent_rpt> <his:sent_stx> <his:sent_exch> <qso+> QSL

     <his:rcvd_rpt> <his:rcvd_stx> QRZ <add-log> <erase> <stop>


<his:callsign> = G3YPP   <my:callsign> = PD9FER    <his:sent_rpt> = 599

<his:sent_stx> 010 <his:rcvd_rpt> = 579       <his:rcvd_stx> = 023 <his:rcvd_stx> = 023


The <qso+> increments the your exchange in the ALE and the <add-log> tag adds the ALE data to the logbook, the ALE erases, macro stops executing and is ready for the next contact

If you were responding to a CQ call, it would look something like this. G3YPP DE PD9FER 599 010 tu K

The macro would be written like this:


<his:callsign> de <my:callsign> <his:sent_rpt><his:sent_stx> <qso+1> tu K


When you receive his report and exchange in return, you would enter the RST and the Exchange in the appropriate Rcvd fields in the ALE PRIOR to saving the ALE to the Logbook.

This procedure sounds and will probably feel awkward for a while but you will soon get use to it and will be able to zip right through the contacts.