GithubHelp home page GithubHelp logo

pat-vara's Introduction

I am an amateur radio operator, developer, technologist, and outdoorsman. I love coding and making things just because I can! It also prevents me from getting bored since...my wife tells me that bad things happen when I'm bored.

pat-vara's People

Contributors

marsik avatar martinhpedersen avatar n8jja avatar xylo04 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pat-vara's Issues

Set LISTEN OFF

LISTEN OFF should be set (instead of LISTEN ON) as long as we don't support handling inbound connections. Otherwise VARA will accept inbound connections, and they will end up in a IDLE loop since we don't send/receive anything.

Closing a closed connection should be a noop

When testing VARA FM I've noticed that func Close is blocking for 60s before eventually giving up with an ABORT message. Turns out it's a race condition if the remote node already closed the connection.

Solution: If the connection is already closed, return nil.

Implement the net.Listener interface

It would be great if this package could support inbound connections (for Winlink P2P).

Looks like work has already been started (#18). Creating this issue so we can track the progress independent of PRs.

vARIM code might help?

Hey, thank you for your work with VARA in Pat. There’s another program called vARIM that’s open source and communicates with VARA. I don’t know much about what’s required to understand VARA’s transport layer and whatnot, but thought maybe the vARIM code or dev might speed things up here too so you don’t have to reverse engineer as much

73
KI7POL

Delete tag `V1.1.1`

It seems having two different tags that only differs on casing v1.1.1, V1.1.1 is not a good idea. Probably because tags are represented as files in the .git directory, and some file systems are case insensitive. The fact that they point to different commits does not help either 😅

Every time I pull now, I get these messages:

git pull
From github.com:n8jja/Pat-Vara
 * [new tag]         v1.1.1     -> v1.1.1
 * [new tag]         v1.1.1     -> v1.1.1

Maybe it's worth trying to delete the misspelled V1.1.1 tag (git push --delete origin V1.1.1) 🙂

Missing license

Hi!

First of all: Thank you!!

I noticed that there is no license declaration included in this repo. Please consider adding one. This will be required in order for us to distribute this as part of Pat.

My best suggestion would be The MIT License or something similar. GPL will not suffice since Go applications are linked statically and Pat is not GPL licensed.

https://medium.com/@henvic/opensource-and-go-what-license-f6b36c201854

Implement the transport.TxBuffer interface

I haven't been fortunate enough to play with this transport yet, but looking at the code it looks like the conn.Write method writes directly to the TCP connection of the modem without doing any flushing or tx buffer queue checks. I'm guessing VARA+TCP has a large enough buffer to hold a very large portion of the outbound message, which would make Pat unable to correctly calculate the outbound message transfer progress.

If supported in VARA, the Conn type could implement transport.TxBuffer to mitigate this.

Panic if VARA is unregistered

See la5nta/pat#371 (comment). We thought the REGISTERED response would always have a callsign, but it looks like it's still sent even when there's no callsign. This causes a slice bounds out of range:

panic: runtime error: slice bounds out of range [11:10]
github.com/n8jja/Pat-Vara/vara.(*Modem).handleCmd(0xc00028c120, {0xc0000a2060, 0xa})
/go/pkg/mod/github.com/n8jja/!pat-!vara/[email protected]/vara.go:232 +0x3b0

To work around, @martinhpedersen recommends using strings.Split.

Publish command set?

Hi @n8jja, thanks for taking this up!

You said in the Pat VARA issue that you have been in contact with VARA's author Jose Alberto Nieto Ros and that he gave you command set documentation. Is that something that you can share widely in this repo, or does Jose want to keep the command set documentation somewhat proprietary? Can you at least share it with me and other Pat developers, or do we need to get in contact with Jose individually?

Thanks for spurring this conversation!

P.S. I tried to get a hold of you by email at n8jja.com, but it couldn't be delivered; please double-check your DNS MX record.

Should we merge this into wl2k-go?

Hi @n8jja,

First of all, thank you for kickstarting this transport package and helping us add support for Vara in Pat 🎉.

I've submitted a few PRs resolving some issues that I'd really like to include in the next release of Pat. However, I haven't gotten any response to the PRs since I worked on these issues a month ago, and so they remain unmerged and unreleased.

Although you started this repo, I guess we never asked you officially if you wanted to be the maintainer of this code over time. Is this something you want to do, or should we merge this code into github.com/la5nta/wl2k-go?

Thanks again for all your work! 🙂

73 de LA5NTA / Martin

Working-ish

I have a branch where connections are half-working. I need a place to stash this stack trace before I lose it.

This occurred at xylo04@5221f0d plus xylo04/pat@2c502e4

It's close! 😄 @n8jja and @martinhpedersen FYI! Oh, and if you're using Pat's RMS list, it's currently showing center frequencies instead of dial frequencies, so dial down 1.5 kHz.

2021/09/07 16:19:57 QSY vara: 7102.3
2021/09/07 16:20:00 Connecting to WA5TED (vara)...
2021/09/07 16:20:28 Connected to WA5TED (vara)
RMS Trimode 1.3.40.2 Welcome  to the Lubbock ARES Winlink Gateway - hosted by the Lubbock 9-1-1 Dist,
K0SWE has 1440 minutes remaining with WA5TED (DM93AN)
{SFI = 100 On 2021-09-07 22:00 UTC}
[WL2K-5.0-B2FWIHJM$]
;PQ: 21379644
CMS via WA5TED >
>FF
2021/09/07 16:22:19 got a vara command I wasn't expecting: BUFFER 62
2021/09/07 16:22:32 got a vara command I wasn't expecting: BUFFER 34
2021/09/07 16:22:39 got a vara command I wasn't expecting: BUFFER 0
FQ
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x5dd6d9]

goroutine 41 [running]:
github.com/n8jja/Pat-Vara/vara.(*Modem).cmdListen(0xc0004f0000)
        /home/chris/src/Pat-Vara/vara/vara.go:99 +0x59
created by github.com/n8jja/Pat-Vara/vara.(*Modem).start
        /home/chris/src/Pat-Vara/vara/vara.go:69 +0xd2

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.