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.

SmartSDR TCP/IP API Frequency

Member ✭✭

I wrote a function to add the band data for sub tx and sub slice objects. I am wondering if there are any other sub categories that have the frequency data objects that I might have missed.

image.png

Regards

Welcome!

It looks like you're new here. Sign in or register to get started.

Answers

  • Administrator, FlexRadio Employee admin

    The only other one I could think of off-hand was TNF (Tracking Notch Filter), but there are probably more. I'm curious now though. Can you expand on how this works? Is it simply a lookup? How do you handle what happens when the object is in between ham bands?

  • Member ✭✭

    Hi Eric,

    Sub TX and Sub Slice data is passed on to the function currently. I use a if then else to set the variable depending on the value of freq or RX_frequency. If it is out side the range, it will set the band to 'GEN'. The data is passed on and you can do what ever you need to do. Some one wanted the TX frequency so they could pre set other conditions before they keyed up. I just decided to make the function work in all situations. I will give the TNF a try.

    Regards

  • Member, Super Elmer Moderator

    Hi Mick, don't you just need the slice freq? You can then look to see if it is the TX slice to determine if you want to set the band. Or am I missing something?

  • Member ✭✭

    Ken I never saw any indication in the slice data indicating it was the slice transmitting. It seems that the TX data would be that indicator. Either way the function passes all the data regardless of the origin and add the band to the payload. If no frequency data is present, I just pass the payload on. This way it can be inserted at the beginning of the message stream and the data can be use where ever needed.

    Regards

  • Member, Super Elmer Moderator

    Hi Mick, name is Len, not Ken… I'm not sure that I understand. Whenever the frequency changes, it will always come in a slice message. Also in the slice message is the TX indicator. This is not that the rig is currently transmitting, but rather that this is the TX slice.

    So here is the initial slice message:


    S775B8A98|slice 0 in_use=1 sample_rate=24000 RF_frequency=50.125000 client_handle=0x5C5E0F1A index_letter=A rit_on=0 rit_freq=0 xit_on=0 xit_freq=0 rxant=ANT1 mode=USB wide=0 filter_lo=200 filter_hi=2700 step=100 step_list=1,10,50,100,500,1000,2000,3000 agc_mode=med agc_threshold=38 agc_off_level=50 pan=0x40000000 txant=ANT1 loopa=0 loopb=0 qsk=0 dax=1 dax_clients=1 lock=0 tx=1 active=1 audio_level=18 audio_pan=50 audio_mute=0 record=0 play=disabled record_time=0.0 anf=0 anf_level=24 nr=0 nr_level=10 nb=0 nb_level=50 wnb=0 wnb_level=90 apf=0 apf_level=0 squelch=1 squelch_level=50 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 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=15
    00 post_demod_bypass=0 rfgain=16 tx_ant_list=ANT1,ANT2,XVTA

    You can see that for slice 0, the frequency is 50.125 and that it is the TX slice (TX=1).

    Now if you only change frequency, you only get a short message that the frequency changed. If you change the TX enable, you only get that information back. It is up to your program to track the state of the radio after you get the big status message back when a slice is created.

    Frequency change:

    S5C5E0F1A|slice 0 RF_frequency=50.124900 wide=0 lock=0

    TX indicator change:

    S5C5E0F1A|slice 0 pan=0x40000000 mode=USB qsk=0 tx=0
    

    After all that, if it is the case that the transmitter is actually transmitting that you need, then you need to look at the interlock status messages:

    S0|interlock tx_client_handle=0x5C5E0F1A state=PTT_REQUESTED reason= source=SW tx_allowed=1 amplifier=

    S0|interlock tx_client_handle=0x5C5E0F1A state=TRANSMITTING reason= source=SW tx_allowed=1 amplifier=

    S0|interlock tx_client_handle=0x5C5E0F1A state=UNKEY_REQUESTED reason= source= tx_allowed=1 amplifier=

    S0|interlock tx_client_handle=0x5C5E0F1A state=READY reason= source= tx_allowed=1 amplifier=

    This gives you the opportunity to control things based on the flow of events that lead up to transmission and then back to receive.

    I hope that all made sense.

  • Member ✭✭

    Len,

    The RF_frequency is the output of the sub slice cmd. Yes it shows the in use frequency. There is also the sub tx subscription which shows the transmit frequency

    c100

    sub tx all

    S74388076

    transmit tx_rf_power_changes_allowed=1 tune=0 show_tx_in_waterfall=0 mon_available=1 max_power_level=100

    S74388076

    transmit freq=3.828100 rfpower=0 tunepower=0 tx_slice_mode=LSB hwalc_enabled=0 inhibit=0 dax=0 sb_monitor=0 mon_gain_sb=80 mon_pan_sb=50 met_in_rx=0 am_carrier_level=100 mic_selection=MIC mic_level=40 mic_boost=0 mic_bias=0 mic_acc=0 compander=0 compander_level=70 vox_enable=0 vox_level=0 vox_delay=13 speech_processor_enable=0 speech_processor_level=0 lo=100 hi=2900 tx_filter_changes_allowed=1 tx_antenna=ANT1 pitch=600 speed=30 iambic=1 iambic_mode=1 swap_paddles=0 break_in=1 break_in_delay=5 cwl_enabled=0 sidetone=1 mon_gain_cw=80 mon_pan_cw=50 synccwx=1

    I just wrote the function to pass both RF_frequncy and freq with the band information. They both pass the correct frequency. It looks like the transmit freq is redundant if you have to use the interlock status.

    I apologize for misspelling your name

    Thanks again

Leave a Comment