Keyboard Shortcuts
Likes
Search
Panadapter!
#node-red-contrib-flexradio
Here's a happy new year treat. I was finally able to get a usable looking panadapter (or just the frequency part) up and running today. Using the "stream" node that I have been poking at on and off the past few weeks. The flow needed to create this is pretty simple with only one "function" node that watches incoming messages to see when a panadapter for the current client (need to be a GUI client to create panadapters) is created. Then the function node sets the X & Y size (1024, 512) and sends the stream id to the "flexradio-stream" node to configure it to listen for the stream/panadapter data. Lastly, that data is sent to a UI template node which is using D3js to make a chart.
The below example is at 10fps. I've not tried higher rates yet.? This is also with NodeRed on a regular desktop computer (Linux) and displaying in a browser on a different desktop computer (macOS). More details to follow ... next year after I get some documentation written up and clean up my example. Waterfall data to come next! Stephen, N1SH |
toggle quoted message
Show quoted text
On Dec 31, 2021, at 5:16 PM, Stephen Houser, N1SH <stephenhouser@...> wrote:
|
For the really brave, this version (v1.1.0-beta.1) is on NPM in "prerelease" state along with an example flow. The example flow requires the dashboard nodes as well. The example is under "Import > Examples".
To install, from a command line or terminal in your NodeRed spot (where the node_modules is located): ? ? `npm install node-red-contrib-flexradio@prerelease` If you don't know what that does or where to do it, you are probably better off waiting for the general release. NOTE: I have not updated the documentation and there's a bunch of loose ends. I had to make a few changes to the larger code so there might be subtle differences from the v1.0 version. Also, not sure how well it will handle multiple panadapters yet. This is early days for this feature. Oh, daxAudio is in there as well. Just no good way to get it to the dashboard. Stephen, N1SH |
toggle quoted message
Show quoted text
On Jan 1, 2022, at 3:44 PM, Stephen Houser, N1SH <stephenhouser@...> wrote:
-- Nick W7NIK? |
开云体育Oohh! Yummy ? ? Dave wo2x ? ? From: [email protected] <[email protected]> On Behalf Of Stephen Houser, N1SH
Sent: Sunday, January 2, 2022 4:25 PM To: [email protected] Subject: Re: [nodered-hamradio] Panadapter! #node-red-contrib-flexradio ? Just published v1.1.0-beta.2 which includes |
Also, not yet published but the next version will also pass extra msg properties from input to output on the -request node.
I saw a comment from Dave over on the flex community which made me realize I was not doing this. The gist of it is if you have a bunch of inputs to a -request node there was previously no easy way to tell which one a response is tied to. With this new addition, if you set, say `msg.topic` on your input message it will be set on the output/response from the -request node so you can switch on it and know what command it is the response code or results for. In this example I have two inputs, one with topic='ant' and the other topic='meter'. Using these topics which now also appear on output of the request node, I can switch and do different actions based on the command that was sent. Can't believe I missed this problem and simple fix earlier.? Stephen [edit] pushing the new version 1.1.0-beta.3 now. Give it a few minutes and you will have this feature as well. |
Stephen
This will be a good addition. I will use the three messages in the Flex Request Node Output Object, following sending a command, to update the commanded variable's context, if the Flex Radio Server, sends a confirmation. ?To do this, I will use: - your new msg.topic (name assigned to the command) >> used to filter out the correct message object - msg.status_code ? >>Flex Radio command receipt confirmation - msg.request ? >> update the commanded variables context based on the command sent and the command assigned name (msg.topic) Alan. WA9WUD |
Stephen
On the subject of the next Flex Request Node.....I have a request: Attached is a paper by ?John Linfor,d G3WGV, "Flex Application Programing Interface". Below is an excerpt, that John says it is best to limit the rate of commands to 25ms to 50ms. Could you build a command rate limiter into your Flex Request Configuration Node? Alan. "WA9WUD" =========================== Notes on sending commands to the API Generally you can send commands to the radio as you please. Each command has a command number and the radio will execute them in the order they were sent, send back a receipt message with the same number and then progress to the next command. It is not necessary to wait for one command to be completed with response before sending the next command. That said, it is not a good idea to flood the API with commands. A good example is fast VFO tuning using a spinner knob?with fairly small frequency steps. It’s not hard to send hundreds or even?thousands of updates a second and that is a bad idea! A realistic update rate for the radio is once every 25ms to 50ms. The radio seems comfortable with that. If you go faster than that you will likely start hearing odd audio clicks and other artefacts. The radio takes some time (typically around 50ms) to respond to commands, so nothing is gained by sending updates to the radio more often. |
开云体育Keep in mind sending TCP commands to the radio during TX WILL create a “pop” in the audio. This is a known issue and Flex is aware. No known info as to when/if this will get addressed.?Try to limit commands to the radio, especially during TX.? Just a friendly reminder.? Dave wo2x Sent from my waxed string and tin cans.? On Jan 2, 2022, at 7:12 PM, Alan Blind, WA9WUD <a.alan.blind@...> wrote:
|
Can you share the latest flow? I have it working but can't control the display.
Can I link the panadapter to an existing client or does it need to be it's own? If I want to use this new version with an exiting flow do I need to delete the earlier version before installing this version via npm? -- Gary K6HN |