Changeset 8585

Show
Ignore:
Timestamp:
06/12/08 15:33:40
Author:
jblum
Message:

fftsink: y_per_div issue fixed

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • gnuradio/trunk/gr-wxgui/src/python/fftsink2.py

    r8584 r8585  
    311311        self.SetSizerAndFit(main_box) 
    312312         
    313         self.y_range = None 
    314313        self.peak_hold = False 
    315314        self.peak_vals = None 
     
    396395                                      title=self.fftsink.title, 
    397396                                      xLabel = self._units, yLabel = "dB") 
    398         self.x_range = x_vals[0], x_vals[-1] 
    399         self.plot.Draw (graphics, xAxis=self.x_range, yAxis=self.y_range) 
    400         self.update_y_range () 
     397        x_range = x_vals[0], x_vals[-1] 
     398        ymax = self.fftsink.ref_level 
     399        ymin = self.fftsink.ref_level - self.fftsink.y_per_div * self.fftsink.y_divs 
     400        y_range = ymin, ymax 
     401        self.plot.Draw (graphics, xAxis=x_range, yAxis=y_range, step=self.fftsink.y_per_div)         
    401402 
    402403    def set_peak_hold(self, enable): 
    403404        self.peak_hold = enable 
    404405        self.peak_vals = None 
    405  
    406     def update_y_range (self): 
    407         ymax = self.fftsink.ref_level 
    408         ymin = self.fftsink.ref_level - self.fftsink.y_per_div * self.fftsink.y_divs 
    409         self.y_range = self.plot._axisInterval ('min', ymin, ymax) 
    410406 
    411407    def on_average(self, evt): 
  • gnuradio/trunk/gr-wxgui/src/python/plot.py

    r5553 r8585  
    768768        return self._xUseScopeTicks 
    769769 
    770     def Draw(self, graphics, xAxis = None, yAxis = None, dc = None): 
     770    def Draw(self, graphics, xAxis = None, yAxis = None, dc = None, step=None): 
    771771        """Draw objects in graphics with specified x and y axis. 
    772772        graphics- instance of PlotGraphics with list of PolyXXX objects 
     
    830830            xTextExtent= (0,0) # No text for ticks 
    831831        if self._ySpec is not 'none': 
    832             yticks = self._ticks(yAxis[0], yAxis[1]
     832            yticks = self._ticks(yAxis[0], yAxis[1], step
    833833            yTextExtentBottom= dc.GetTextExtent(yticks[0][1]) 
    834834            yTextExtentTop   = dc.GetTextExtent(yticks[-1][1]) 
     
    12781278                text = 0    # axis values not drawn on right side 
    12791279 
    1280     def _ticks(self, lower, upper): 
     1280    def _ticks(self, lower, upper, step=None): 
    12811281        ideal = (upper-lower)/7. 
    12821282        log = _numpy.log10(ideal) 
     
    12991299            digits = -int(power) 
    13001300            format = '%'+`digits+2`+'.'+`digits`+'f' 
     1301        #force grid when step is not None 
     1302        if step is not None: grid = step 
    13011303        ticks = [] 
    13021304        t = -grid*_numpy.floor(-lower/grid) 
    13031305        while t <= upper: 
     1306            if t == -0: t = 0 #remove neg zero condition 
    13041307            ticks.append( (t, format % (t,)) ) 
    13051308            t = t + grid