PTB integration (new PACTOR mode) - #529
Conversation
|
Thanks for this PR 😊 Haven't found time to review yet, but hopefully next week. Thank you! |
|
I've fixed the build failure @ develop. A rebase of your branch should resolve the build check. |
66ea02d to
b913187
Compare
|
Thanks for the review Martin, I addressed both items, implemented Connection tests succeeded: and 73s, Torsten |
martinhpedersen
left a comment
There was a problem hiding this comment.
Thanks again Torsten! See inline comments :)
| } | ||
| return m.NewListener() | ||
| } | ||
| func (l PTBListener) CurrentFreq() (Frequency, bool) { return 0, false } |
There was a problem hiding this comment.
We should implement this, so the correct frequency is logged on incoming connections :)
Can probably copy code from VaraHFListener's implementation?
| } | ||
| switch v := PactorEngine(str); v { | ||
| case "": | ||
| *p = DefaultPactorEngine() |
There was a problem hiding this comment.
Regarding default engine: What's the best default going forward? Should the recommended solution be ptb?
There are two "defaults" to consider here:
- Which should we default to for existing configurations that don't specify an engine value (upgrade)?
- I usually lean towards a safe upgrade for existing users - i.e. "serial".
- Which should be the default on new deployments (no configuration file exist)?
- Depends on which engine we are going to recommend as the go-to for new users.
| ardop: ARDOP TNC | ||
| pactor: SCS PTC modems | ||
| pactor: SCS PTC modems (legacy driver) | ||
| ptb: PTB (PACTOR-TCP-Bridge) - modern PACTOR driver |
There was a problem hiding this comment.
Need to update these. It's three options now: pactor, pactor+ptb and pactor+serial.
| connect ardop:///LA3F?freq=5350 Same as above, but set dial frequency of the radio using rigcontrol. | ||
| connect pactor:///LA3F Connect to RMS HF Gateway LA3F using PACTOR. | ||
| connect pactor:///LA3F Connect to RMS HF Gateway LA3F using PACTOR engine as per configuration. | ||
| connect pactor+ptb:///LA3F Connect to LA3F using the PACTOR-TCP-Bridge (PTB) engine. |
There was a problem hiding this comment.
We can probably leave this one out, don't you think?
| // | ||
| // It defaults to the serial (ptc-go) driver for backwards compatibility with | ||
| // existing pactor configurations. | ||
| func DefaultPactorEngine() PactorEngine { return PactorEngineSerial } |
There was a problem hiding this comment.
For the ax25 engine, this function was needed in order to have different defaults for different host operating systems. In this case, I think it's sufficient to hardcode the default values where needed (two places).
| } | ||
|
|
||
| // PTBConfig holds PTB (PACTOR-TCP-Bridge) specific configuration | ||
| type PTBConfig struct { |
There was a problem hiding this comment.
I'd like to try merging this into the existing PactorConfig somehow. I'm a bit concerned this will be confusing for the user, especially if/when we finally deprecate the "legacy" (serial) driver.
But let's defer this for now. I can probably come up with a suggestion we can discuss later :)
Transport for the PACTOR-TCP-bridge. See PTB git page for details. Enables listen mode on PACTOR.