Hey,
I’m having a problem building my application. If anyone can tell me what
I’m doing wrong it
would be appreciated.
All of the files I’m talking about are in gr-qtgui/lib
There is a public routine, set_yaxis, in FrequencyDisplayPlot that I
want to call. A pointer to that class is
used in spectrumdisplayform but not public. I made it public. There is a
pointer to
that class used in SpectrumGUIClass but not public. I made it public.
There is a
pointer to that in qtgui_sink_c but not public. I made it public. Then I
rebuilt gnuradio.
Everything builds and gnuradio works. My application calling set_yaxis
via
qtgui_sink_c_sptr fft_window = qtgui_make_sink_c(…)
fft_window->d_main_gui->_spectrumDisplayForm->_frequencyDisplayPlot->set_yaxis(-130.0,
0.0);
compiles. But when it links I get an undefined reference to
FrequencyDisplayPlot::set_yaxis.
I looked in the library that has that routine using nm and it is there
libgnuradio-qtgui-3.6.1git.so:00000000000172f0 t
FrequencyDisplayPlot::set_yaxis(double, double)
libgnuradio-qtgui.so:00000000000172f0 t
FrequencyDisplayPlot::set_yaxis(double, double)
so what is going wrong?
stephen
On Mon, May 21, 2012 at 10:34 PM, Stephen [email protected]
wrote:
used in spectrumdisplayform but not public. I made it public. There is a
0.0);
so what is going wrong?
stephen
Stephen,
I’m not sure what’s going wrong there, but that set_yaxis is exposed
through the SpectrumGUIClass as “SetFrequencyAxis”, which is called
via the qtgui_sink_{c,f} as “set_frequency_axis”. Can you use either
of those for what you want? (the naming was changed so that the
function exposed in GNU Radio is in the non-CamelCase style we use).
Tom
On 5/22/2012 8:38 AM, Tom R. wrote:
Wow. I totally missed that. That’s what I get for trying to do this so
late at night. Yes, that works fine. thanks.
stephen
On Wed, May 23, 2012 at 7:11 PM, Stephen [email protected]
wrote:
routine. That routine name doesn’t match what it does.
stephen
Sure. But set_y_axis also doesn’t fit, since you don’t know which
y-axis you’re talking about (time, waterfall, psd, etc.). Maybe
frequency_y_axis would have been better, but this was one of those
"Get it done now at all costs"™ type things as I recall.
It’s been mentioned before that there’s a rearchitecting of the gtgui
sinks going on now. As part of that, we’ll try to make the many, many
properties of the sinks more accessible. I’m thinking like a keyword
lookup structure so we don’t have to keep having these multiple layers
of wrapping to expose a method in a class contained down N levels.
Tom
I’m not sure what’s going wrong there, but that set_yaxis is exposed
through the SpectrumGUIClass as “SetFrequencyAxis”, which is called
via the qtgui_sink_{c,f} as “set_frequency_axis”. Can you use either
of those for what you want? (the naming was changed so that the
function exposed in GNU Radio is in the non-CamelCase style we use).
Tom
Now I remember how I missed this. I was wanting to change the y axis,
the decibel values, not the x axis, frequency. So I didn’t look at that
routine. That routine name doesn’t match what it does.
stephen