dsDIGI - APRS digipeater based on the dsTNC hardware
dsDIGI is another project from my dsXXXX series, i.e. playing with Microchip dsPIC processors. The hardware is described on the dsTNC page; here I will focus on the software only.
Configuration
After loading the dsDIGI firmware and connecting to a computer over the serial port at 57600,8,n,1 the system greets you with the configuration screen:
CONFIG MODE Press ? for help
Typing ? and pressing enter shows the list of configuration commands:
===================================================== dsDIGI config help: alias [digi alias] - set WIDEn-N alias (default WIDE1) alt [meters] - set altitude bcn [TEXT] - set beacon text bfreq [mm] - set beacon frequency to mm minutes bpath [PATH-1,PATH-2,...] - set beacon path call [CALL-SSID] (example: call SP0ABC-1) set Your callsign digi - boot in digi mode kiss - boot in KISS mode lat [dd.ddddd] (example: lat 50.23445) set Your latitude (negative for south) lon [dd.ddddd] (example: lon 18.87532) set Your longitude (negative for west) speed - set UART speed (one of 9600,19200,57600,115200) show - show current config symbol [SS] - set APRS symbol telemetry [0,1] - transmit telemetry 0-off, 1-on (default off) txdelay [dd] - set txdelay [10 ms units] txtail [dd] - set txtail [10 ms units] txtest [0,1,2]- generate tx test pattern 0 - off, 1 - 1200 Hz, 2 - 2200 Hz
A short description of the commands:
- alias - sets the WIDEn-N alias of the DIGI (WIDE1 by default). NOTE! Only one alias can be set.
- alt - sets the altitude of the DIGI in metres above sea level
- bcn - sets the beacon text of the DIGI; note that the position is added automatically!
- bfreq - sets the beacon interval (in minutes) - 10 minutes by default
- bpath - sets the digipeater path for the beacon - WIDE2-2 by default
- call - sets the callsign of the DIGI in the SP0ABC-11 format; to work without an SSID enter SP0ABC-0 default: N0CALL-0
- digi - starts digi mode; from now on it will be the default mode after every start
- kiss - starts KISS TNC mode; from now on it will be the default mode after every start
- lat - sets the latitude of the DIGI in degrees and decimal fractions of a degree (negative for the southern hemisphere) default: 52.0688
- lon - sets the longitude of the DIGI in degrees and decimal fractions of a degree (negative for the western hemisphere) default: 19.4801
- speed - sets the serial port speed, valid values: 9600, 19200, 57600, 115200 default: 57600
- show - shows the current configuration:
callsign : N0CALL-0 DIGI alias : WIDE1 APRS symbol : /# path : WIDE2-2 beacon : dsDIGI (c) SP9UOB http://sp9uob.verox.pl/dsdigi.html txdelay : 250 ms txtail : 50 ms beacon freq : 10 mins altitude : 0 m latitude : 52°04'08''N longitude : 19°28'49''E locator : JO92RB serial : 57600 bps telemetry : OFF
- symbol - sets the APRS symbol of the DIGI default: /#
- telemetry - turns telemetry on (1) / off (0); the DIGI can report its supply voltage, temperature (with a DS18B20 connected) and the number of packets received/transmitted in 10 minutes
- txdelay - sets txdelay in 10 ms units (enter 25 to get 250 ms) default: 500 ms
- txtail - sets txtail in 10 ms units (enter 25 to get 250 ms) default: 50 ms
- txtest - keys the transmitter (1, 2) and sends a 1200 Hz (1) or 2200 Hz (2) tone for setting the transmitter deviation; 0 turns the test off
Digi mode
To get back into configuration mode (after selecting digi or kiss mode), press the space bar while the system is starting. In digi mode the unit receives and decodes frames, showing among other things the bearing and distance to the received station, e.g.:
PKTS = 1 SQ9CIE-4 to APND14-0 via OK2ULQ-1* UIv pid=F0 =5023.16N/01924.93E_262/009g012t040r000p002P002h99b10324lU2k From SQ9CIE-4 to APND14-0 VIA OK2ULQ-1 Position w/o timestamp + mess: 50°23'10''N 19°24'56''E SYMBOL= /_ Dist = 56 km bearing = 78 degrees 262/009g012t040r000p002P002h99b10324lU2k PKTS = 2 SR6NKB-0 to APMD-0 via OK0BBF-2*,OK2ULQ-1* UI pid=F0 !5015.41N/01725.74E#PHG3828 Biskupia Kopa PZK OT 11 WIDE1-1 From SR6NKB-0 to APMD-0 VIA OK0BBF-2,OK2ULQ-1 Position w/o timestamp: 50°15'25''N 17°25'45''E SYMBOL= /# Dist = 88 km bearing = 269 degrees Biskupia Kopa PZK OT 11 WIDE1-1 PKTS = 3 SR9DZB-0 to APNU18-0* via SR6NKB-0*,OK2ULQ-1*,WIDE2-1 UI^ pid=F0 !5047.09N/01843.01E#APRS Zborowskie/Silesia From SR9DZB-0 to APNU18-0 VIA SR6NKB-0,OK2ULQ-1,WIDE2-1 Position w/o timestamp: 50°47'06''N 18°43'01''E SYMBOL= /# Dist = 57 km bearing = 5 degrees APRS Zborowskie/Silesia
The digi also transmits its status: uptime, number of received frames and number of repeated packets. At the moment the software handles the WIDE1-1 path; if you need a different one - let me know :-) I also plan to add a bootloader so that the software can be upgraded without a programmer, but that task has a rather low priority :-)
Downloads
- schematic
- assembly drawing
- PCB layout
- dsDIGI firmware v1.25 from 2013-11-24 (release notes)
- dsDIGI firmware v1.24 from 2012-08-15