aethersdr / aethersdr/AetherSDR

Add support for Telepost LP-500 / LP-700 external wattmeters

Open
#5,488 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement external devices GUI maintainer-review
Dominant language
C++
Stars
221
Forks
117
Avg merge
2d 7h
Merged PRs (30d)
299

Description

Request preparation
  • I used an AI assistant to help structure this request
  • I checked for existing issues covering the same feature
What would you like?

Add support for Telepost LP-500 / LP-700 external wattmeters

What

Let AetherSDR read live forward power, reflected power, and SWR from a
Telepost LP-500 or LP-700 external wattmeter and display it as another
meter source in the app — alongside the radio's own PWR/SWR readings,
not replacing them.

Why

The LP-500/LP-700 sit physically in the RF path between the radio (and
any amplifier) and the antenna, so they measure what's actually leaving
the station rather than what the radio thinks it's putting out — useful
for anyone running a PGXL/TGXL/other amp chain where the radio's own
meter isn't the ground truth. Today, per a recent FlexRadio community
thread, there's no SmartSDR integration at all for these meters — owners
run Telepost's standalone "LP 500 VM" virtual-meter app side-by-side, and
if you're remote you have to Remote Desktop into the shack PC just to see
it. Folding the reading into AetherSDR's own meter UI would remove that
second app/window entirely.

How Other Clients Do It
  • SmartSDR: No integration. Confirmed on the FlexRadio community
    forum — LP-500/LP-700 users are told "there is no integration with
    SmartSDR" and are pointed at Telepost's separate LP 500 VM app.
  • N1MM / DXLab / Ham Radio Deluxe: These loggers/contest tools do
    poll LP-100/LP-500-series meters (Telepost publishes a documented
    network/serial interface for exactly this purpose), so there's
    precedent for third-party software reading the meter live — AetherSDR
    would be doing something SmartSDR itself doesn't offer, not just
    matching it.
  • GQRX / SDR++: Not applicable — neither targets external inline
    wattmeters; this would be a differentiator for AetherSDR specifically
    in the Flex/amp-chain use case.
Suggested Behavior
  • In Radio Setup → External Devices (or wherever peripheral
    integrations live alongside things like the automation bridge/relay
    boards), add an "External Wattmeter" section with a device-type
    dropdown (Telepost LP-500 / LP-700) and connection settings (serial
    port, or host:port if the meter exposes a network interface).
  • Once connected, surface the reading as an additional meter source the
    user can pick for a MeterApplet/RxApplet slot or the PWR
    cross-needle meter — e.g. a small "Ext PWR/SWR" readout, or a toggle
    on the existing CrossNeedleMeterGeometry face that swaps its source
    from the radio's internal meter status to the external device.
  • Values should drive the display through MeterSmoother
    (src/gui/MeterSmoother.h), per project convention — no new
    envelope-follower code.
  • If the meter disconnects or times out, fall back cleanly to the
    radio's own PWR/SWR meter rather than freezing or zeroing the display,
    and log the disconnect via qCWarning.
Protocol Hints

Unknown — needs research. Telepost publishes a serial/network interface
spec for the LP-100/LP-500 series (used today by N1MM, DXLab, and HRD),
but I haven't pinned down the exact command set, baud rate, or whether
LP-700 differs from LP-500 here. This would need either the Telepost
interface documentation or a capture from one of the existing
third-party integrations before implementation starts.

Acceptance Criteria
  • AetherSDR can connect to an LP-500 or LP-700 over its documented
    interface and receive live forward power, reflected power, and SWR
    values.
  • The external reading is selectable as a meter source in the GUI
    without disrupting the radio's own internal PWR/SWR meter.
  • Meter values are smoothed via MeterSmoother, consistent with
    every other meter in the app.
  • Connection loss to the external meter degrades gracefully (falls
    back to internal meter, logs a warning) rather than crashing or
    showing stale/frozen values.
  • Feature works identically on Linux, macOS, and Windows (or, if a
    platform-specific serial/USB limitation exists, it's documented in
    the PR).
Suggested labels

enhancement, external devices

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the external-device settings and existing meter-source paths, then read src/gui/MeterSmoother.h, MeterApplet/RxApplet, and CrossNeedleMeterGeometry. Research Telepost’s documented LP-500/LP-700 protocol or existing N1MM, DXLab, and HRD integrations before choosing the connection approach. Done means live forward, reflected, and SWR readings are selectable, smoothed, cross-platform where possible, and fall back with a qCWarning on disconnect.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
desktop, networking
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.