Ignore:
Timestamp:
08/25/08 20:51:26 (5 years ago)
Author:
werner
Message:

This mainly adds the long-awaited screendump functionality. Also fixes
two serious bugs, namely an off-by-twelve error in Rigol USB TMC read
function and caching converted instead of unconverted values in
settings, which broke larger scripts.

  • lib/wave.py: added "extend" method for all waves
  • lib/scope.py: started support for piecewise wave retrieval (doesn't work yet)
  • lib/instrument.py (setting.set): store the value being set, not the one converted for the instrument
  • usbtmc.c, python.c: increased SIZE_IOBUFFER from 4kB to 1MB and BUF_SIZE from 8kB to 1MB, to accommodate Rigol screen dumps
  • usbtmc.c: added pointer to rew's Rigol driver
  • lib/scope.py: new method "screendump"
  • usbtmc.c (usbtmc_read): Rigol buffer reads were off by 12 bytes
  • lib/scope.py (rigol_channel_data, rigol_la_data): added 12 to offsets and corrected off-by-two error in analog wave offset
File:
1 edited

Legend:

Unmodified
Added
Removed
  • developers/werner/ahrt/host/tmc/lib/wave.py

    r4601 r4608  
    111111            raise hell 
    112112        self.data.append((t, y)) 
     113 
     114    def extend(self, wave): 
     115        if len(self.data) and len(wave.data) and \ 
     116          wave.data[0][0] < self.data[-1][0]: 
     117            raise hell 
     118        self.data.extend(wave.data) 
    113119 
    114120    def get_one(self, t): 
     
    154160        self.initial = None 
    155161        self.data = [] 
    156         self.cursor = None 
    157162        self.t_end = None 
    158163 
     
    173178            self.data.append(t) 
    174179        self.t_end = t 
     180 
     181    def extend(self, wave): 
     182        if wave.t_end is None: 
     183            return 
     184        if self.t_end is None: 
     185            self.t_end = wave.t_end 
     186            self.data = wave.data 
     187            self.initial = wave.initial 
     188            return 
     189        if wave.data[0] < self.t_end: 
     190            raise hell 
     191        if self.initial ^ (len(self.data) & 1) == wave.initial: 
     192            self.data.extend(wave.data) 
     193        else: 
     194            self.data.extend(wave.data[1:]) 
     195        self.t_end = wave.t_end 
    175196 
    176197    def get_one(self, t): 
Note: See TracChangeset for help on using the changeset viewer.