IsGpsdoPresent

  • 1
  • Question
  • Updated 8 months ago
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.
Photo of Mark Erbaugh

Mark Erbaugh

  • 524 Posts
  • 46 Reply Likes

Posted 8 months ago

  • 1
Photo of Mark - W3II

Mark - W3II

  • 255 Posts
  • 55 Reply Likes
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.

Photo of Mark Erbaugh

Mark Erbaugh

  • 524 Posts
  • 46 Reply Likes
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
(Edited)
Photo of Mark - W3II

Mark - W3II

  • 255 Posts
  • 55 Reply Likes
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"
Photo of Mark Erbaugh

Mark Erbaugh

  • 524 Posts
  • 46 Reply Likes
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 
Photo of Mark - W3II

Mark - W3II

  • 255 Posts
  • 55 Reply Likes
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.

Photo of Mark Erbaugh

Mark Erbaugh

  • 524 Posts
  • 46 Reply Likes
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
Photo of Mark - W3II

Mark - W3II

  • 255 Posts
  • 55 Reply Likes
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.
Photo of Mark Erbaugh

Mark Erbaugh

  • 524 Posts
  • 46 Reply Likes
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.
Photo of Mark - W3II

Mark - W3II

  • 255 Posts
  • 55 Reply Likes
Can you select TCXO for the source and see if the string changes?
Photo of Mark - W3II

Mark - W3II

  • 255 Posts
  • 55 Reply Likes
Can you select TCXO for the source and see if the string changes?
Photo of Mark Erbaugh

Mark Erbaugh

  • 524 Posts
  • 46 Reply Likes
I don't think that the oscillator source is settable on the 6700, that's just on the 6400/6600.