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.

IsGpsdoPresent

Member ✭✭
edited February 2020 in SmartSDR API
According to the FlexAPI documentation, the Radio class has a read-only property IsGpsdoPresent. My 6700 has the GPSDO installed, but the IsGpsdoPresent property shows false. I poked around in Radio.cs, but I don't see where the property is set.

Welcome!

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

Answers

  • Member ✭✭✭
    edited February 2020
    It is set in Radio.cs file in the ParseOscillatorStatus method. Search for _isGpsdoPresent
    You must be connected to radio for this property to be set. Also note that until a GUI client connects some radio object properties are not update / set.

  • Member ✭✭
    edited August 2019
    Mark,

    Thanks for the response. It looks like the code in Radio.cs is looking for "gpsdo_present" in the oscillator status string (ParseOscillatorStatus), but with my program (non-GUI client) and SSDR 2.5.1 running, the only status string that I have seen is:

    state=ocxo_gpsdo setting=ocxo_gpsdo locked=1

    Looking through the debug output in VS, I found this:

    ParseOscillatorStatus: Invalid value (state=ocxo_gpsdo setting=ocxo_gpsdo locked=1)

    It looks like the FlexAPI code I have doesn't match the data coming from the radio.

    My radio is HW version 2.5.1.130. My FlexAPI is 2.5.1.

    73,
    Mark - N8ME
  • Member ✭✭✭
    edited August 2019
    Starting with radio V 2.51 and later you need to be using the FlexAPI from V3. Radio version 2.51 brought the API to compatibility 3 level so the FlexAPI could work with both version 2 and 3.

    The V2.51 and V3 status strings look the same for me 
    "state=external setting=auto locked=1 ext_present=1 gpsdo_present=0 tcxo_present=1"
  • Member ✭✭
    edited August 2019
    Mark,

    Interesting. It looks to me like the IsGpsdoPresent status is set in the ParseOscillatorStatus method in Radio.cs. I set a breakpoint at the start of that routine and the status string I saw was:

    state=ocxo_gpsdo setting=ocxo_gpsdo locked=1

    I wonder why my radio is different. This is v2.5.1 
  • Member ✭✭✭
    edited August 2019
    Not different please update to V3 FlexAPI DLL / Library.

    Starting with radio V 2.51 and later you need to be using the FlexAPI from V3. Radio version 2.51 brought the API to compatibility 3 level so the FlexAPI could work with both version 2 and 3.

  • Member ✭✭
    edited August 2019
    Mark,

    Are you saying I should not use Flex API v2.5.1, even though that is the version I'm using in my 6700?

    I repeated the same test with FlexLib API v3.0.27. I'm still seeing the same string as above. Do you think I need to do a hard reset of my radio?

    73,

    Mark - N8ME
  • Member ✭✭✭
    edited August 2019
    Yes, you must use the V3 FlexAPI library because FRS modified 2.51 to be compatible with V3 API. If it has been a long time since you hard reset the radio it is a quick thing to try. Remember to save your profiles and memories.
  • Member ✭✭
    edited August 2019
    I did a hard reset.  I'm still seeing the string

    "state=ocxo_gpsdo setting=ocxo_gpsdo locked=1"

    Looking at the string you reported, it looks like you don't have the Flex GPSDO installed. I wonder if there is a bug in the string when the GPSDO is installed?  I tried uninstalling the GPS in software, but that didn't change the string. I'm not sure if I want to open the 6700 and remove the GPSDO.
  • Member ✭✭✭
    edited August 2019
    Can you select TCXO for the source and see if the string changes?
  • Member ✭✭✭
    edited August 2019
    Can you select TCXO for the source and see if the string changes?
  • Member ✭✭
    edited August 2019
    I don't think that the oscillator source is settable on the 6700, that's just on the 6400/6600.

Leave a Comment