npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

node-red-contrib-wsjt-x

v2.0.1

Published

WSJT-X Data Decoding

Downloads

40

Readme

node-red-contrib-wsjt-x

A NodeRed node to handle the decoding and encoding of WSJT-X (and JTDX) data. WSJT-X is an amatuer (ham) radio program that enables weak-signal radio communications using a variety of specially desinged protocols (FT8, FT4, WSPR, JT8, JT4, and more). This node allows the data sent by WSJT-X to be injected into NodeRed flows for further processing and use. It also allows messages from NodeRed flows to be encoded and sent to WSJT-X.

Example NodeRed Flow

To best utilize this node in your flow while still being able to use other programs (like GridTracker or your logging software) you should configure WSJT-X's Reporting: UDP Server to send to a multicast address. IP addresses 224.0.0.0 to 224.0.0.255 are reserved for local network multicast, thus an IP in this range is a great choice. Then in all the places you want to receive that data, configure those a multicast as well. Within NodeRed's udp in node, choose Listen for: multicast messages and then configure the same multicast IP address and port that you configured WSJT-X with.

To send commands to WSJT-X you will need to identify the IP address and port number that WSJT-X is using to send data out. This is not the same as the address WSJT-X sends to (above). The easist method is to use a udp in node setup to receive data (as above) and use the msg.ip and msg.port from incoming messages. The wsjt-x-encode node can be used to encode messages from your flow into buffer objects that a udp out node, properly configured, can then send to WSJT-X. You will also have to configure WSJT-X to accept incoming UDP commands, look in Settings.

WSJT-X Encoding Work-in-progrss (v2.0)

While I have a goal of being able to encode all the WSJT-X messages, the priority is to complete the ones that WSJT-X accepts as input first. See the [WSJT-X Source Code](* https://github.com/roelandjansen/wsjt-x/blob/master/NetworkMessage.hpp).

The commands that can be encoded are as follows:

  • clear: {"window":2}
  • heartbeat: {"max_schema_number":3,"version":"2.6.1","revision":""}
  • reply (untested): {}
  • halt_tx: {"auto_tx_only":false}
  • close: {}
  • replay: {}
  • free_text: {"text": "sample", "send": false} (text can be null to change send only)
  • location: (broken?) {"location": "FN43rq"}
  • logged_adif: {"adif_text": "...adif XML-like stuff..."},
  • switch_configuration: {"configuration_name":"IC-705"}
  • highlight_callsign: {"callsign": "...", "background": "#ff00ff", "foreground": "000000", "highlight_last" false} (null for invalid color, which clears highlight)
  • configure: (not implemented)
    {
        "mode":"FT8",                   // null or emptyis no change
        "frequency_tolerance": null,    // null is no change 
        "sub_mode": "",                 // null or emptyis no change
        "fast_mode": true, 
        "tr_period": null,              // null is no change
        "rx_df": null,                  // null is no change
        "dx_call": null,                // null or emptyis no change 
        "dx_grid": null,                // null or emptyis no change
        "generate_messages": true
    }