Welcome to the FlexRadio Community! Please review the new Community Rules and other important new Community information on the Message Board.
If you are having a problem, please refer to the product documentation or check the Help Center for known solutions.
Need technical support from FlexRadio? It's as simple as Creating a HelpDesk ticket.

ProtoFlex – A FlexRadio Emulator

Today, I’m releasing ProtoFlex - a Windows-based software emulator that mimics the behavior of a FlexRadio. It generates both UDP streams and TCP command responses, enabling detailed logging of interactions between a client and the radio. A built-in web interface provides visibility into slices, panadapters, waterfalls, meters, and more.

Origins

When I first began modifying Len’s (KD0RC) firmware to support the TeensyMaestro v2 hardware, I didn’t yet own a FlexRadio. To validate my code changes, I relied on API documentation and various FlexRadio client libraries to build a basic emulator—just enough to implement changes and perform rudimentary testing.
Since acquiring a FlexRadio, I’ve significantly expanded the emulator’s capabilities to support a broader subset of the Flex API. The result is ProtoFlex.

Features

  • SmartSDR Compatibility: Connect using SmartSDR to view a rough approximation of signals in the panadapter and waterfall views.
  • Command Emulation: Responds to many TCP commands just like a real FlexRadio.
  • Meter Simulation: Generates meter data and allows limited runtime modification (with more enhancements planned).
  • Web Interface: Displays the current state of slices, panadapters, waterfalls, and meters.
  • Flexible Configuration: A JSON file lets you define parameters such as the maximum number of slices and panadapters—making it easy to emulate different FlexRadio models or even fictional ones (see the documentation for an example with 8 panadapters and 16 slices).

Work in Progress

ProtoFlex is still under active development, with some behaviors yet to be refined. That said, my hope is that it will prove useful for developers building and testing FlexRadio client tools. Its most valuable feature may be the ability to log exactly what commands a client sends to the radio—especially helpful when the client is a microcontroller like the TeensyMaestro.

The tool can be downloaded from here: https://github.com/rimuadmin/ProtoFlex

Please read the wiki documentation for more details.

Comments

  • KD0RC
    KD0RC Member, Super Elmer Moderator

    This is really cool Simon! I have played with it some, and it is amazing. I used your earlier version to update my Win utilities and TeensyMaestro so that the user can specify a particular radio when there are more than one on the same network. It is great to be able to test that without borrowing someone else's Flex.

Leave a Comment

Rich Text Editor. To edit a paragraph's style, hit tab to get to the paragraph menu. From there you will be able to pick one style. Nothing defaults to paragraph. An inline formatting menu will show up when you select text. Hit tab to get into that menu. Some elements, such as rich link embeds, images, loading indicators, and error messages may get inserted into the editor. You may navigate to these using the arrow keys inside of the editor and delete them with the delete or backspace key.