Welcome to the new 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.

How to determine state of APF and NR

Tim K9WX
Tim K9WX Member ✭✭✭

I'm trying to figure out a way to determine the state of my 6600's APF and NR settings for a Node-RED project.

I had a similar need earlier for the headphone and speaker (aka lineout) settings. Their state is part of the return from the flexradio -message node:

But, I am not seeing similar method of determining the state of the APF and NR settings. I don't see them listed in the return from the flexradio-message node.

Tim K9WX



  • KD0RC
    KD0RC Member, Super Elmer Moderator
    edited April 2022

    Hi Tim, You need to subscribe to Slice info, at which point it returns info about any open slices. The line beginning CD21 subscribes to all slices. The line below that starts the status message about slice 0 (the only slice I had open when I executes the sub slice all command). If you look for "slice 0" starting after a "|" symbol, you will know that you have a slice status message. Now if you look for "nr=" or "nb=", you0 will find your on and off status of NR and NB.

    Once the subscription is started and you get all the info from that, individual changes just report the relevant info. In the last four lines, I turned on and off NR, then NB.

    Note that the R21 response to my CD21 command came at some random point, so don't wait for that. Just look for the information that you want (slice 0 in this case).

    M10000001|Client connected from IP
    SFBA00A5|radio slices=1 panadapters=1 lineout_gain=100 lineout_mute=0 headphone_gain=100 headphone_mute=0 remote_on_enabled=1 pll_done=0 freq_error_ppb=-7 cal_freq=2.500000 tnf_enabled=1 snap_tune_enabled=1 nickname=Len.6400 callsign=KD0RC binaural_rx=1 full_duplex_enabled=0 band_persistence_enabled=1 rtty_mark_default=2125 enforce_private_ip_connections=0 backlight=4 mute_local_audio_when_remote=1 daxiq_capacity=16 daxiq_available=14
    SFBA00A5|radio filter_sharpness VOICE level=2 auto_level=1
    SFBA00A5|radio filter_sharpness CW level=3 auto_level=0
    SFBA00A5|radio filter_sharpness DIGITAL level=0 auto_level=0
    SFBA00A5|radio static_net_params ip= gateway= netmask=
    SFBA00A5|radio oscillator state=external setting=auto locked=1 ext_present=1 gpsdo_present=0 tcxo_present=0
    SFBA00A5|interlock acc_txreq_enable=0 rca_txreq_enable=0 acc_tx_enabled=0 tx1_enabled=1 tx2_enabled=0 tx3_enabled=0 tx_delay=30 acc_tx_delay=0 tx1_delay=0 tx2_delay=0 tx3_delay=0
    acc_txreq_polarity=0 rca_txreq_polarity=0 timeout=600000
    SFBA00A5|eq rx mode=1 63Hz=0 125Hz=8 250Hz=8 500Hz=10 1000Hz=15 2000Hz=15 4000Hz=14 8000Hz=0
    SFBA00A5|eq rxsc mode=1 63Hz=-10 125Hz=-2 250Hz=-2 500Hz=0 1000Hz=5 2000Hz=5 4000Hz=4 8000Hz=-10
    CD21 | sub slice all
    SFBA00A5|slice 0 in_use=1 sample_rate=24000 RF_frequency=14.052000 client_handle=0x566D8DF9 
    index_letter=A rit_on=0 rit_freq=0 xit_on=0 xit_freq=0 rxant=ANT1 mode=CW wide=0 filter_lo=-50 
    filter_hi=50 step=10 step_list=1,5,10,50,100,200,400 agc_mode=med agc_threshold=43 agc_off_level=10 
    pan=0x40000000 txant=ANT1 loopa=0 loopb=0 qsk=1 dax=1 dax_clients=1 lock=0 tx=1 active=1 audio_level=17 
    audio_pan=50 audio_mute=1 record=0 play=disabled record_time=0.0 anf=0 anf_level=0 nr=0 nr_level=10 
    nb=0 nb_level=50 wnb=1 wnb_level=34 apf=1 apf_level=30 squelch=1 squelch_level=20 diversity=0 
    diversity_parent=0 diversity_child=0 diversity_index=1342177293 ant_list=ANT1,ANT2,RX_A,XVTA 
    mode_list=LSB,USB,AM,CW,DIGL,DIGU,SAM,FM,NFM,DFM,RTTY,RAW,ARQ fm_tone_mode=OFF fm_tone_value=67.0 
    fm_repeater_offset_freq=0.000000 tx_offset_freq=0.000000 repeater_offset_dir=SIMPLEX fm_tone_burst=0 
    fm_deviation=5000 dfm_pre_de_emphasis=0 post_demod_low=300 post_demod_high=3300 rtty_mark=2125 
    rtty_shift=170 digl_offset=2210 digu_offset=1500 post_demod_bypass=0 rfgain=0 tx_ant_list=ANT1,ANT2,XVTA
    SFBA00A5|waveform installed_list=
    S0|interlock tx_client_handle=0x00000000 state=READY reason= source= tx_allowed=1 amplifier=
    S2E8F2BF4|slice 0 nr=1 nr_level=10 nr2=0
    S2E8F2BF4|slice 0 nr=0 nr_level=10 nr2=0
    S2E8F2BF4|slice 0 nb=1 nb_level=50
    S2E8F2BF4|slice 0 nb=0 nb_level=50

    Let me know if that answered your question. I know it was not directly a Node Red answer...

    EDIT: Sorry, you asked about APF. Just substitute APF where I talk about NB.

  • Alan
    Alan Member ✭✭✭✭


    It looks like you are using the Node Red Flex Node

    1- Send the command "sub slice all" as Len says, this will tell the Flex to send you any changes made to a slice

    2- Filter each slice. Each slice will have a "msg.topic" for each slice:

    Slice A is msg.topic = slice/0

    Slice B is msg.topic = slice/1

    Use the "Switch node, to filter each slice, using the "msg.topic" as the "Property" to switch.

    3- Find the path to the slice variable you desire. Put a debug node on a slice. On your Flex GUI client, change the variable you are looking for. Look for the path to the desired variable in your debug window. In this example, I changed the DSP settings, on slice A:

    You can click on the "copy path" icon, to copy the path to the desired variable:

    For the example shown the path is: "payload.nb_level".

    5 - You can now use the desired path, for the subject variable, in other nodes as inputs. Here is an example of a debug node, set to show the NB Level to the debug panel using the path, "msg.payload.nb_level".

    Alan. WA9WUD

  • Tim K9WX
    Tim K9WX Member ✭✭✭

    Thanks, Len and Alan.

    I get the response I would expect when I use PuTTY to send the sub slice all command. But I don't get any usable data when I do it in Nod-RED. (I wired in an info inject to verify that at least that was working.)

    So, first things first, before I get to filtering, why am I not seeing slice data with this arrangement?

    Tim K9WX

  • Alan
    Alan Member ✭✭✭✭

    Tim asked: why am I not seeing slice data with this arrangement?

    When you subscribe to "sub slice all", the Flex server will, thereafter, send you slice info, from the GUI Client, when a slice parameter changes, on the GUI Client.

    Change a parameter on your GUI Client, i.e, Maestro or Smart SDR, and watch the debug window.


  • Tim K9WX
    Tim K9WX Member ✭✭✭

    That's what I would have expected. But when I change the frequency of the slice (I only have one open) I don't receive any data in the debug window.

    In producing this screenshot, I first injected the sub slice all command which produced the string(0) output. The I changed the frequency of the slice and no additional output is received in the debug window.

  • Alan
    Alan Member ✭✭✭✭


    I sent an email to your E-mail as listed in QRZ.com....give me a call, I can help you more efficiently that way.

    Alan. WA9WUD. PU 1975

  • Tim K9WX
    Tim K9WX Member ✭✭✭

    Thanks, Alan, WA9WUD for your phone call to assist. Very helpful.

    Tim K9WX

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.