WA8DED prototype

99 views
Skip to first unread message

Torsten Harenberg

unread,
Oct 3, 2017, 10:31:57 AM10/3/17
to pat-users
Dear all,

I wrote a small Glue code in Go to speak to my SCS PTC binary
transparent in WA8DED mode. (Actually, that was a my project to learn Go).

My final goal would be to include that into Pat, so one would be able to
use Winlink over PACTOR even from something small like a Pi.

Reading through the source, I am a bit confused what needs to be
implemented in wl2k-go/transport to successfully interface the code to Pat.

Is there someone here who could give me a few pointers what needs to be
done?

Thanks and 73s

Torsten DL1THM

LA5NTA

unread,
Oct 3, 2017, 12:05:32 PM10/3/17
to pat-users
Hello Torsten,

I am unfamiliar with the WA8DED host mode, but this sounds very promising! I would love to include support for it in Pat.

I will do my best to explain the details for you. The key concept to understand is that Pat talks to the various transports through a few common interfaces.

For outgoing connections, you need to implement the transport.Dialer-interface.
For incoming connections (P2P listener), you need to implement the net.Listener-interface.

As you can see from these interfaces, your socket connection type must implement the net.Conn-interface.

I am currently in the process of re-writing how Pat manages it's listeners (for incoming P2P connections), so my suggestion is that you focus on the Dialer-interface first.

Pat uses URIs to represent a station's address, where the URI scheme identifies which transport it should use to call the other station (E.g. telnet://, winmor://, ax25://, ardop://).

To register a new Dialer for a particular scheme, you have to call transport.RegisterDialer(scheme string, dialer transport.Dialer).

For "telnet", the package itself registers as a dialer upon import:

For WINMOR, it is a bit more complicated since we need to initialize the TNC before registering it:

The transport.URL structure was designed to include any information needed to configure/talk to a TNC.

The string syntax should be able to hold most information needed (I hope):
 * wa8ded://mycall@/targetcall?host=/dev/ttyS0&baudrate=115200&... (?)
 * ax25://mycall@axport/digi1/digi2/target

Many of these parameters have defaults added by Pat (host,mycall,baudrate etc.) from the JSON configuration:

If you have any questions, please let me know and I will try to assist you as best I can.

Please keep us posted on your progress, as I am sure there are plenty of people interested in this!

-- 
Martin / LA5NTA

LA5NTA

unread,
Oct 3, 2017, 2:42:36 PM10/3/17
to pat-users
Hi again Torsten,

I forgot to mention that you will need to patch Pat to import your package, since all transports are statically linked.

Here is a dummy transport implementation for your reference: https://play.golang.org/p/j25JVrjxmF.

PS: To avoid a caveat introduced by the vendored wl2k-go copy, I recommend that you delete the vendored version of wl2k-go before trying to register your own Dialer:

-- 
73 de LA5NTA/Martin

tirsdag 3. oktober 2017 16.31.57 UTC+2 skrev Torsten Harenberg følgende:

Torsten Harenberg

unread,
Oct 3, 2017, 3:23:57 PM10/3/17
to pat-...@googlegroups.com
Hi Martin,

thanks a lot for the dummy!! That helps of course a lot :-)

Am 03.10.17 um 20:42 schrieb LA5NTA:
> PS: To avoid a caveat introduced by the vendored wl2k-go copy, I
> recommend that you delete the vendored version of wl2k-go before trying
> to register your own Dialer:
> cd $GOPATH/src/github.com/la5nta/pat && rm -rf
> vendor/github.com/la5nta/wl2k-go && go get github.com/la5nta/wl2k-go
>

Cool.. I could get it included:

pi@pi2 ~/gopackages/src/github.com/la5nta/pat $ ./pat connect
dummy:///FOOBAR
2017/10/03 21:21:31 Connecting to FOOBAR (dummy)...
2017/10/03 21:21:31 Connected to FOOBAR (dummy)
A dummy driver should never be trusted
Bye bye!
2017/10/03 21:21:31 Exchange failed: unexpected EOF
pi@pi2 ~/gopackages/src/github.com/la5nta/pat $

Just had to comment the

git submodule update --init --recursive

out, otherwise git will put the original stuff back ;-).


73s

Torsten DL1THM

Martin Hebnes Pedersen

unread,
Oct 3, 2017, 5:40:34 PM10/3/17
to Torsten Harenberg, pat-...@googlegroups.com
Excellent! Glad you figured it out :-)

We have an issue on github regarding support for pactor. Do you mind giving a breif overview of what you are working on there? Any info regarding which modems this approach may support would also be of interest.

The main reason I'm asking is to avoid duplication of effort, in case someone else starts working on the same feature without us knowing.

I can of course post a comment for you if you want.


Have a good night!

-- 
Martin

--
You received this message because you are subscribed to the Google Groups "pat-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to pat-users+unsubscribe@googlegroups.com.
To post to this group, send an email to pat-...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/pat-users/a8410fb4-85c6-26d5-158b-8f27a0def882%40gmail.com.
For more options, visit https://groups.google.com/d/optout.

Torsten Harenberg

unread,
Oct 4, 2017, 2:49:42 AM10/4/17
to Martin Hebnes Pedersen, pat-...@googlegroups.com
Good morning Martin,

yeah.. you're right. I was already subscribed to that issue, but forgot
about it. I posted a comment there now.

Best 73s

Torsten


Am 03.10.17 um 23:40 schrieb Martin Hebnes Pedersen:
Reply all
Reply to author
Forward
0 new messages