[Xastir] Xastir do not process SCS TNC-DSP tracker raw data

Tom Russo russo at bogodyn.org
Sat Nov 12 09:50:19 PST 2022


I have not investigated this, but I have a handful of thoughts.

On Sat, Nov 12, 2022 at 08:27:50AM +0100, we recorded a bogon-computron collision of the <F1MHV at free.fr> flavor, containing:
> Hi Group,
> 
> I am trying to figure-out why Xastir can???t handle SCS DSP-TNC terminalmode raw data?
> 
[...]
> 
> Therefore i tried to use either tnc-startup.tnc2 or tnc-startup.tnc2-ui without success: starting the connexion switch the TNC to tx all the string of the init file, meaning the init instructions are not taken in account by the TNC??? according to user manual, all init arguments should be preceded by ASCII 27 character (ESC) to open the command interpreter.

This may be a showstopper problem:  there is nothing in Xastir that will send 
an escape to the TNC before command-mode lines.

In fact, the Xastir functions that handle construction of strings to send
to serial TNCs has hard-coded stuff that puts control-c in front of all
commands, which is how the standard TNC2-derived TNCs all work.   (There is
additional code that allows a startup file to *skip* those control-c prefixes,
but those were introduced just so that the Kenwoods could get initialized
properly).  

That code is in the function command_file_to_tnc_port, which has hardcoded
printfs that send code 0x03 (Control-C) before every command in the init
file to make sure the TNC is in command mode.

Have you tried manually connecting to the TNC via a terminal program and testing
out the various commands to see if indeed this TNC needs an escape before
processing the commands?

It may be possible to extend the "META" commands that skip control-c or
introduce time delays with an extra meta command to insert an escape.  But
then when Xastir tries to insert additional commands other than from the init
file you still have the same problem --- it will try to insert control-Cs, not 
escapes.

Xastir also sends either "conv" or "k" to the TNC each time it wants to switch
to convers mode. These are the TNC2 commands that switch *out* of command mode 
and into converse mode, and which one is used is set up in the dialog for the 
serial TNC interfaces.  It sounds like your TNC defaults to being in converse 
mode and has to be taken *out* of it with an escape character.  

That may make it incompatible with Xastir unless the code were changed.

You may be forced to use KISS, even though you don't like it.  What is your
objection to KISS mode?

> Then i tried using tnc-startup.null (empty init file) which obviously doesn???t bring any unwanted TNC tx, but xastir is unable to process terminalmode datas out of the TNC:
> 
> "fm F4ACU-1 to APX219 via OH6DL-10 OH6DL-10* ctl UI^ pid F0 - 12.11.22 06:36:06
> =4717.15N\00047.64E-FT100 40W Dipole Xastir SCS Tracker


Yes, this is not the format that Xastir is expecting.  There must be some
setting that changes it, and I believe it's one of the commands in the tnc2
or tnc2-ui startups that does exactly that.  If there isn't such a command,
or you can't hack Xastir to get it to send the escape needed to get the 
TNC to *process* those commands, you may be stuck.

> Of course using kiss mode solves the problem, but i hate kiss mode...

-- 
Tom Russo    KM5VY
Tijeras, NM  

 echo "prpv_a'rfg_cnf_har_cvcr" | sed -e 's/_/ /g' | tr [a-m][n-z] [n-z][a-m]



More information about the Xastir mailing list