Push button blocks in GNU Radio, and how to continuously display a variable state such as the one changed by a push button or other mechanism

Is there push button block in GNU Radio Companion?

Yep — there is 👍

In GNU Radio (QT GUI) you’ve got a couple of button-style options, depending on what behavior you want:

✅ QT GUI Push Button

  • Block name: QT GUI Push Button
  • What it does:
    Sends a message once each time you click it (momentary action).
  • Use case:
    Triggering events like:
    • Resetting a counter
    • Taking a snapshot
    • Starting a calibration
  • Important:
    It does not output a stream, only a message, so you connect it to blocks with message inputs.

🔁 QT GUI Toggle Button

  • Block name: QT GUI Toggle Button
  • What it does:
    Latches between 0/1 (or True/False).
  • Use case:
    On/off control, enable/disable paths, gating logic.

🧓 WX GUI Button (legacy)

  • Exists, but deprecated — best avoided unless you’re maintaining old flowgraphs.

Practical tip

If you want the button to affect stream processing, the usual pattern is:

Push Button → Message Debug / Variable / Message Strobe → Stream logic

(e.g. Message → Variable → Multiply Const)

Is there a GUI to continuously display a variable state in GNU Radio Companion?

Yep — there is, and it’s pretty handy 👍

In GNU Radio (QT GUI) you’ve got a few solid ways to continuously display a variable’s current value, depending on how that variable is updated.


✅ QT GUI Label

Best direct answer to your question

  • Block: QT GUI Label
  • What it does:
    Displays the current value of a variable and updates automatically.
  • Works with:
    • Normal variables
    • Variables updated via message ports
  • Typical use:
    Showing gain, frequency, mode flags, counters, state machines, etc.

You just set the “Label” and “Variable” fields to the variable name.


🔁 QT GUI Number Sink

  • Displays numeric values over time
  • Good if your “variable” is actually a stream
  • Overkill if you only want the current state

📬 Message → Variable → Label (common pattern)

If the variable changes via messages:

Message source → Variable block → QT GUI Label

Examples:

  • Push Button → Variable → Label
  • Message Debug → sanity check + Label

🧠 For non-numeric states

If your variable represents state (e.g. "IDLE""TRACKING""CALIBRATING"):

  • Use:
    • QT GUI Label
    • Format the text (e.g. State: TRACKING)
  • Update via a message-based variable

Pro tip (radio-astronomy friendly 😉)

For things like:

  • Integration count
  • Fringe detected / not detected
  • Antenna selected
  • Calibration phase

QT GUI Label + message-updated variable is the cleanest, least hacky solution.

By Admin

Leave a Reply

Your email address will not be published. Required fields are marked *


This site uses Akismet to reduce spam. Learn how your comment data is processed.