Jeweils ein Slider Element für grob und Fein Tuning
Verfasst: Freitag 27. Februar 2009, 14:51
Hi Leute,
ich kriege es mal wieder nicht hin.
Daher bräcuhte ich mal euren Rat.
Ich arbeite an einer grafischen Anwendung in der 2 horizonale Slider
Elemente von einander abhängig sein sollen.
Ein Slider Element stellt die die Grobe Frequenz ein und ein weiteres Slider
Element stellt die Fein Einstellung ein.
Die Variable <self.usrp_freq> soll voreingestellt werden auf 10e3.
Das grobe Slider Element kann von 0 bis 29e3 geändert werden.
Das feine Slider Element kann nur um +-1.45e3 um den derzeitigen
Wert vom groben Slider Element bewegt werden.
Was mache ich falsch?
Oder wie könnte ich es richtiger machen?
Hier ein Teil meines Codes:
Grüße Markus
ich kriege es mal wieder nicht hin.

Daher bräcuhte ich mal euren Rat.
Ich arbeite an einer grafischen Anwendung in der 2 horizonale Slider
Elemente von einander abhängig sein sollen.
Ein Slider Element stellt die die Grobe Frequenz ein und ein weiteres Slider
Element stellt die Fein Einstellung ein.
Die Variable <self.usrp_freq> soll voreingestellt werden auf 10e3.
Das grobe Slider Element kann von 0 bis 29e3 geändert werden.
Das feine Slider Element kann nur um +-1.45e3 um den derzeitigen
Wert vom groben Slider Element bewegt werden.
Was mache ich falsch?
Oder wie könnte ich es richtiger machen?
Hier ein Teil meines Codes:
Code: Alles auswählen
class uebertragungschar_LF_RX(grc_wxgui.top_block_gui):
def __init__(self, options):
grc_wxgui.top_block_gui.__init__(self,
__title__+' - '+__author__+' - '+__version__)
##################################################
# Parameters
##################################################
. . .
self.usrp_freq_min = options.usrp_freq_min
self.usrp_freq_max = options.usrp_freq_max
##################################################
# Variables
##################################################
self.usrp_freq = 10e3
. . .
##################################################
# Controls
##################################################
self._usrp_freq_control = grc_wxgui.slider_horizontal_control(
window=self.GetWin(),
callback=self.set_usrp_freq,
label="Oszillatorfrequenz Grob",
value=self.usrp_freq,
min=self.usrp_freq_min,
max=self.usrp_freq_max,
num_steps=290,
slider_length=400,
)
self.Add(self._usrp_freq_control)
self._usrp_freq_fine_control = grc_wxgui.slider_horizontal_control(
window=self.GetWin(),
callback=self.set_usrp_freq,
label="Oszillatorfrequenz Fein",
value=self.usrp_freq,
min=self._usrp_freq_control.get_value()-1.45e3,
max=self._usrp_freq_control.get_value()+1.45e3,
num_steps=29,
slider_length=400,
)
self.Add(self._usrp_freq_fine_control)
. . .
def set_usrp_freq(self, freq):
self.usrp_freq = freq
self.set_middle_freq_fft_plot(self.usrp_freq)
self.usrp_simple_source_x.set_frequency(self.usrp_freq)
self._usrp_freq_fine_control.set_value(freq)
. . .
if __name__ == '__main__':
parser = OptionParser()
. . .
parser.add_option("--usrp_freq_min", dest="usrp_freq_min", type="float", default=0)
parser.add_option("--usrp_freq_max", dest="usrp_freq_max", type="float", default=29e6)
(options, args) = parser.parse_args()
tb = uebertragungschar_LF_RX(options)
tb.Run()