IPB

Welcome Guest ( Log In | Register )

 
Reply to this topicStart new topic
> IBDA_SignalStatistics
NZ Steve
post Apr 27 2010, 10:15 AM
Post #1


Participant


Group: New Members
Posts: 43
Joined: 2-February 09
Member No.: 11,797
Card: None


After having a few problems with establishing whether a signal was locked or not I've gone back over the many discussions about obtaining the IBDA_SignalStatistics interface.

Does anybody know why, in all the examples I've seen, the call to topology->GetControlNode uses the second node type returned from topology->GetNodeTypes.

I would have thought that you would need to establish which node type you were interested in by scanning the node descriptors and then using the related node type in GetControlNode.

However, this doesn't seem to work all the time. I've seen some tuners where the node descriptor has the GUID for a satellite node but when I get the control node for the related node type it doesn't support the IBDA_SignalStatistics interface. The same tuner has an RF Tuner node which does support IBDA_SignalStatistics and correctly reports signal locked, quality etc when the satelliter node is in use.

I'm confused.

Steve
Go to the top of the page
 
+Quote Post
pclare
post May 9 2010, 09:43 PM
Post #2


Participant


Group: New Members
Posts: 56
Joined: 8-January 07
Member No.: 6,634
Card: Nova DVB-t


QUOTE (NZ Steve @ Apr 27 2010, 12:15 AM) *
Does anybody know why, in all the examples I've seen, the call to topology->GetControlNode uses the second node type returned from topology->GetNodeTypes.


The first node will be the RF tuner and the second node will be the demodulator. Logically, it is the tuner that can report signal present/locked/strength and the demodulator that can report quality. In practice though, IBDA_SignalStatistics may be supported on either or both tuner and demodulator. Also, some tuners report the IBDA_SignalStatistics interface as available on a particular node but then fail individual calls to get the signal stats. So, those examples that only check the second node may fail for some tuners.


QUOTE (NZ Steve @ Apr 27 2010, 12:15 AM) *
I would have thought that you would need to establish which node type you were interested in by scanning the node descriptors and then using the related node type in GetControlNode.

However, this doesn't seem to work all the time. I've seen some tuners where the node descriptor has the GUID for a satellite node but when I get the control node for the related node type it doesn't support the IBDA_SignalStatistics interface. The same tuner has an RF Tuner node which does support IBDA_SignalStatistics and correctly reports signal locked, quality etc when the satelliter node is in use.


A universal solution that should work with any tuner needs to check each node in turn. If either the IBDA_SignalStatistics interface is not supported or if the call to get the stats parameter that you're interested in fails then you need to move on to the next node.
Go to the top of the page
 
+Quote Post
NZ Steve
post May 10 2010, 08:34 AM
Post #3


Participant


Group: New Members
Posts: 43
Joined: 2-February 09
Member No.: 11,797
Card: None


Thanks for the reply. I'd come to that conclusion.

I ended up with code that built an array of IBDA_SIGNALSTATISTICS interfaces and tried each one in turn until it got a successful reply for whatever stat I was trying to get. It works fine on the dozens of different tuners it's been tried on.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 14th December 2018 - 07:14 AM