Sunday, September 26, 2021

SARTopo and APRS

Update: 3/20/2023 - CalTopo now has KISS support, rendering the information below unnecessary.


SARTopo/Caltopo is a great tool for making maps as it has an option to generate printable PDFs with specific scales (1:24000) and either a UTM or USNG grid.   These work well with a compass for land navigation.   There is an offline version of their software that even supports APRS objects.     I started exploring this option as I would like to be able to connect SARTopo offline to a local radio without needing any IGATE or internet access.

The SARTopo/Caltopo offline/desktop version requires input in the TNC2 format, used most often by IGATEs.   The standard output from Direwolf comes close but includes some extra information about audio level/channel that causes problems for SARTopo.


Hardware

Yaesu FT-857d

Signalink USB

Laptop with Windows 10 Pro


Direwolf

Install Com0Com virtual port

Follow Direwolf instructions to setup virtual com port pair (COM3/COM4)

Make sure to test using Putty or Telnet

Install Cygwin and the packages mentioned in the Direwolf User Manual

Clone the git repo per instructions in User Manual

Checkout the DEV branch

Edit the source on direwolf.c and change lines of code in app_process_rec_packet to not print out [%d.%d%s] or [%d%s]

Follow the Direwolf User Manual steps to build new executables.  Version 1.6 is slightly different than the manual.  When you run "make", it will tell you the new process.

Now you have an executable that can send data to the Sartopo application.

Setup a batch script to launch Direwolf and dump the output to COM3. 

C:\cygwin64\home\<username>\direwolf\build\src\direwolf.exe -l C:\Radio\Direwolf\logs -c C:\cygwin64\home\<username>\direwolf\build\src\direwolf.conf -q h>COM3


SARTopo/Caltopo

Old versions of Sartopo Offline

Edit the Sartopo config file:

C:\<path to caltopo>\caltopo-offline\caltopo\cal.properties

New versions of Caltopo-desktop

C:\Users\<username>\

Add these lines, per SARTopo documentation to the topo.properties file

sarsoft.location.aprs.local.enabled=true

sarsoft.location.serial.COM4=1200,8,1,0

log4j.logger.org.sarsoft.location.service.APRSLocalEngine=INFO

log4j.logger.org.sarsoft.location.service.APRSSerialThread=DEBUG


Launch SARTopo Offline/Caltopo-Desktop

Setup a new map and add a locator object.

Since you have debugging enabled, you should see the packet data appear in the commandline.

As APRS packets are received locally,  you should start to see them appear on the map.


Future

Figure out how to avoid building a custom version of Direwolf.   It may be possible to host an IGATE server or redirect the IGATE packets from Direwolf.