Function Probe variable_function_probe import time import threading self.$(id) = $(id) = $value #slurp def _$(id)_probe(): while True: val = self.$(block_id()).$(function_name())($(function_args())) try: self.set_$(id)(val) except AttributeError, e: pass time.sleep(1.0/($poll_rate)) _$(id)_thread = threading.Thread(target=_$(id)_probe) _$(id)_thread.daemon = True _$(id)_thread.start() self.set_$(id)($value) Value value 0 raw Block ID block_id my_block_0 string Function Name function_name get_number string Function Args function_args string #if $function_args() then 'none' else 'part'# Poll Rate (Hz) poll_rate 10 real Periodically probe a function and set its value to this variable. Set the values for block ID, function name, and function args appropriately: \ Block ID should be the ID of another block in this flow graph. \ Function name should be the name of a class method on that block. \ Function args are the parameters passed into that function. \ For a function with no arguments, leave function args blank. \ When passing a string for the function arguments, quote the string literal: '"arg"'. The values will used literally, and generated into the following form: self.block_id.function_name(function_args) To poll a stream for a level, use this with the probe signal block.