As a APRS user you can ask DIGI_NED some questions through APRS messages. This is similar functionality as the Tiny-Web-Pages suggested by Bob Bruninga, WB4APR.
In DIGI_NED the query mechanism works with normal standardized APRS messages.
To start with DIGI_NED responds to the ?APRS? broadcast message; DIGI_NED will transmit all its beacons. All other messages must be addressed to DIGI_NED. Most of the responses have to be acknowledged by the receiver.
DIGI_NED repeats responses up to 10 times, doubling the interval at each attempt. Of course these retransmissions cease when a acknowledgement has been received.
The following commands are recognized by DIGI_NED:
||shows a short overview of all commands |
||shows the own call and the call of the DIGI_NED owner |
||shows version and date and time of compilation |
||shows date and time of the last restart |
||shows that this is DIGI_NED |
||shows the number of available ports |
||shows directly heard station, maximal 5, no ack |
||shows help for the mheard command |
||shows heard stations on port 1 |
||shows when pe1dnn was last heard, with port number |
||just like mheard, only shorter |
||shows help for the dx command |
||shows best dx on port 1, all history, last 24h and last hour |
||shows distance and bearing to pe1dnn |
||shows the path of the requester to the digipeater, no ack |
stops DIGI_NED remotely (only the owner can do this and the feature must be enabled in the digi_ned.ini file)
||same as ?exit, exists with exit-code 12 |
||retransmits all unacknowledged messages for the requester |
||same as ?ping?|
||makes DIGI_NED send all frames specified with the beacon variable |
||makes DIGI_NED send all fames specified with the wx-variable|
The '?' can be omitted and is supported for APRS specification compatibility.
Note that some commands cause beacon transmissions or transmission of object data and item locations instead of a return message. Commands like "?aprsm" do not return anything if there are no pending messages for you. "?ping" and "?aprst" send messages which do not need to be acknowledged. If reception fails you will not see an answer either.
A specific command from a user is only accepted once in "message_keep_time:" seconds, default: 900 seconds. When a user sends the same command within this time again then DIGI_NED will not respond, only acknowledge the message.
This means for example that a user cannot send two "?info" commands to DIGI_NED within this time, on the second command DIGI_NED will not respond and only acknowledge the message. If the user tries the "?info" command again after 900 seconds then the user will get a normal response on the "?info" command. After sending an "?info" command a user can send another command without any problems, for example "?up" will work normally. A second "?up" command will not field a response however.
The reason for this behavior is to avoid problems when two auto-responding systems are starting to respond to each other, this will go on infinity if nothing is done about it. With this measure a message will Ping-Pong only once and then it will be silent again. If a quarter of an hour is not sufficient in your case then increase the "message_keep_time:" value.
There is one-time bypass for this. If you really want the execution of the same command again you can add or omit the '?' in front of the command, DIGI_NED duplicate filtering will in that case see a difference, although the response will bet exactly the same with or without the '?'. So in the above example you can use "info" and get a response if the previous command you used was "?info". Note also that for example the Kenwood TH-D7 suppresses duplicate answers, you may not see the answer if you already have it!
The ?exit command is meant for the owner of the digipeater. The command "?exit" has some restrictions; the following must be true for the command to work:
- The command must be enabled in DIGI_NED.INI.
- The message must originate from the DIGI_NED owner.
- The frame must be received directly without digi's in the path.
When one or more of the conditions are not true then DIGI_NED will send the default help information.
After reception and recognition of the ?exit command the digipeater will send a "shutdown" message without any digipeaters in the path (the receiver shall to be local and receive the digipeater directly).
When this message is acknowledged the digipeater will shutdown. The "shutdown" message is repeated up to 3 times; if an 'ack' is still not received after the third attempt the digipeater will go back to normal operation as if it never received an ?exit command.
DIGI_NED uses a number of exit-codes that may be useful in .bat file. An example of this can be found in "run.bat" which is in the distribution.
The exit-codes are:
- -1 error at startup (AX25_MAC not loaded, mandatory settings in DIGI_NED.INI forgotten?)
- 0 okay, normal exit (with keyboard, ALT+X)
- 1 exit by test code (only for debug versions)
- 2 exit by remote ?exit command
Optionally a number between 0 and 255 can be used with the ?exit command; e.g. "?exit 10". In that case the supplied value will be used as exit-code. This way all kind of other programs can be started with a batch file after stopping the digipeater. Look at "run.bat" for an example that uses the standard exit-codes. This can be extended to start other programs such as NetCHL to remotely maintain the system on which DIGI_NED runs and add new settings and software.
For Linux this also works, but because with Linux you can run many programs in parallel without any problem anyway this feature is not really needed. But it works.
The paths used for replies and acks are defined in DIGI_NED.INI. For each port a "message_path:" can be defined; 'all' can be used too use the same path for all ports. Also ports can be combined, e.g."message_path: 1,3 WIDE,TRACE6-6" sets the path for ports 1 and 3.
Definition of a "message_path:" for each port makes it possible to transmit responses through different paths. It is even possible to define more than one path for a port, this results obviously in more traffic! This is needed when a digipeater in the path through which the response needs to be transmitted is not an APRS style digipeater; the exact station call is needed. When a message has to be delivered through 2 such digipeaters 2 different paths are needed. This is conflicting with the idea of "generic digipeating", but it is possible.
The "owner" of the digi also has the right to execute a few other functions. Later these will be replaced by a "member" feature but since this is still experimental only the owner(s) (you can supply more calls on the "digi_owner:" line, see sample digi_ned.ini).
The extra commands for the owner are, besides "?exit" the commands "!clear" and "!out". "!clear" is used to remove entries from the "mheard" list. There are three options. "!clear" on its own cleans the whole "mheard" list.
When used with a port number, e.g. "!clear 2" then all entries for the given port are cleared from the "mheard" list. When used with a call, e.g. "!clear pe1dnn-7" then the given call is cleared from the "mheard" list.
For information about "!out" see the "Remote Control" section later.