Waveform Template
authorChrissi^ <Chrissi^@stratum0.org/mediawiki/>
Sun, 9 Nov 2014 00:12:54 +0000 (00:12 +0000)
committerChrissi^ <Chrissi^@stratum0.org/mediawiki/>
Sun, 9 Nov 2014 00:12:54 +0000 (00:12 +0000)
LeCroy_9304A%2FBeschreibung.mw [new file with mode: 0644]

diff --git a/LeCroy_9304A%2FBeschreibung.mw b/LeCroy_9304A%2FBeschreibung.mw
new file mode 100644 (file)
index 0000000..02334ac
--- /dev/null
@@ -0,0 +1,513 @@
+Dieser Beschreibungstext zur Waveform wird vom Lecroy ausgegeben, wenn man 
+ TMPL?
+fragt.
+
+<pre>
+TMPL "
+/00
+000000              LECROY_2_2:  TEMPLATE
+                    8 66 111
+;
+; Explanation of the formats of waveforms and their descriptors on the
+; LeCroy Digital Oscilloscopes,
+;     Software Release 44.1.1.1, 94/04/18.
+;
+; A descriptor and/or a waveform consists of one or several logical data blocks
+; whose formats are explained below.
+; Usually, complete waveforms are read: at the minimum they consist of
+;       the basic descriptor block WAVEDESC
+;       a data array block.
+; Some more complex waveforms, e.g. Extrema data or the results of a Fourier
+; transform, may contain several data array blocks.
+; When there are more blocks, they are in the following sequence:
+;       the basic descriptor block WAVEDESC
+;       the history text descriptor block USERTEXT (may or may not be present)
+;       the time array block (for RIS and sequence acquisitions only)
+;       data array block
+;       auxiliary or second data array block
+;
+; In the following explanation, every element of a block is described by a
+; single line in the form
+;
+; <byte position>   <variable name>: <variable type> ; <comment>
+;
+;  where
+;
+;   <byte position> = position in bytes (decimal offset) of the variable,
+;                     relative to the beginning of the block.
+;
+;   <variable name> = name of the variable.
+;
+;   <variable type> = string        up to 16-character name
+;                                     terminated with a null byte
+;                       byte         8-bit signed data value
+;                       word        16-bit signed data value
+;                       long        32-bit signed data value
+;                      float        32-bit IEEE floating point value
+;                                   with the format shown below
+;                                   31  30 .. 23   22 ... 0   bit position
+;                                   s   exponent   fraction
+;                                   where
+;                                   s = sign of the fraction
+;                                   exponent = 8 bit exponent e
+;                                   fraction = 23 bit fraction f
+;                                   and the final value is
+;                                   (-1)**s * 2**(e-127) * 1.f
+;                     double        64-bit IEEE floating point value
+;                                   with the format shown below
+;                                   63  62 .. 52   51 ... 0   bit position
+;                                   s   exponent   fraction
+;                                   where
+;                                   s = sign of the fraction
+;                                   exponent = 11 bit exponent e
+;                                   fraction = 52 bit fraction f
+;                                   and the final value is
+;                                   (-1)**s * 2**(e-1023) * 1.f
+;                       enum        enumerated value in the range 0 to N
+;                                   represented as a 16-bit data value.
+;                                   The list of values follows immediately.
+;                                   The integer is preceded by an _.
+;                 time_stamp        double precision floating point number,
+;                                   for the number of seconds and some bytes
+;                                   for minutes, hours, days, months and year.
+;
+;                                   double  seconds     (0 to 59)
+;                                   byte    minutes     (0 to 59)
+;                                   byte    hours       (0 to 23)
+;                                   byte    days        (1 to 31)
+;                                   byte    months      (1 to 12)
+;                                   word    year        (0 to 16000)
+;                                   word    unused
+;                                   There are 16 bytes in a time field.
+;                       data        byte, word or float, depending on the
+;                                   read-out mode reflected by the WAVEDESC
+;                                   variable COMM_TYPE, modifiable via the
+;                                   remote command COMM_FORMAT.
+;                       text        arbitrary length text string
+;                                   (maximum 160)
+;            unit_definition        a unit definition consists of a 48 character
+;                                   ASCII string terminated with a null byte
+;                                   for the unit name.
+;
+;==========================================================================
+;
+WAVEDESC: BLOCK
+;
+; Explanation of the wave descriptor block WAVEDESC;
+;
+;
+<  0>          DESCRIPTOR_NAME: string  ; the first 8 chars are always WAVEDESC
+;
+< 16>          TEMPLATE_NAME: string    
+;
+< 32>          COMM_TYPE: enum          ; chosen by remote command COMM_FORMAT
+               _0      byte             
+               _1      word             
+               endenum                  
+;
+< 34>          COMM_ORDER: enum         
+               _0      HIFIRST          
+               _1      LOFIRST          
+               endenum                  
+;
+;
+; The following variables of this basic wave descriptor block specify
+; the block lengths of all blocks of which the entire waveform (as it is
+; currently being read) is composed. If a block length is zero, this
+; block is (currently) not present.
+;
+;
+;BLOCKS :
+;
+< 36>          WAVE_DESCRIPTOR: long    ; length in bytes of block WAVEDESC
+< 40>          USER_TEXT: long          ; length in bytes of block USERTEXT
+< 44>          RES_DESC1: long          ;
+;
+;ARRAYS :
+;
+< 48>          TRIGTIME_ARRAY: long     ; length in bytes of TRIGTIME array
+;
+< 52>          RIS_TIME_ARRAY: long     ; length in bytes of RIS_TIME array
+;
+< 56>          RES_ARRAY1: long         ; an expansion entry is reserved
+;
+< 60>          WAVE_ARRAY_1: long       ; length in bytes of 1st simple
+                                        ; data array. In transmitted waveform,
+                                        ; represent the number of transmitted
+                                        ; bytes in accordance with the NP
+                                        ; parameter of the WFSU remote command
+                                        ; and the used format (see COMM_TYPE).
+;
+< 64>          WAVE_ARRAY_2: long       ; length in bytes of 2nd simple
+                                        ; data array
+;
+< 68>          RES_ARRAY2: long         
+< 72>          RES_ARRAY3: long         ; 2 expansion entries are reserved
+;
+; The following variables identify the instrument
+;
+< 76>          INSTRUMENT_NAME: string  
+;
+< 92>          INSTRUMENT_NUMBER: long  
+;
+< 96>          TRACE_LABEL: string      ; identifies the waveform.
+;
+<112>          RESERVED1: word          
+<114>          RESERVED2: word          ; 2 expansion entries
+;
+; The following variables describe the waveform and the time at
+; which the waveform was generated.
+;
+<116>          WAVE_ARRAY_COUNT: long   ; number of data points in the data
+                                        ; array. If there are two data
+                                        ; arrays (FFT or Extrema), this number
+                                        ; applies to each array separately.
+;
+<120>          PNTS_PER_SCREEN: long    ; nominal number of data points
+                                        ; on the screen
+;
+<124>          FIRST_VALID_PNT: long    ; count of number of points to skip
+                                        ; before first good point
+                                        ; FIRST_VALID_POINT = 0
+                                        ; for normal waveforms.
+;
+<128>          LAST_VALID_PNT: long     ; index of last good data point
+                                        ; in record before padding (blanking)
+                                        ; was started.
+                                        ; LAST_VALID_POINT = WAVE_ARRAY_COUNT-1
+                                        ; except for aborted sequence
+                                        ; and rollmode acquisitions
+;
+<132>          FIRST_POINT: long        ; for input and output, indicates
+                                        ; the offset relative to the
+                                        ; beginning of the trace buffer.
+                                        ; Value is the same as the FP parameter
+                                        ; of the WFSU remote command.
+;
+<136>          SPARSING_FACTOR: long    ; for input and output, indicates
+                                        ; the sparsing into the transmitted
+                                        ; data block.
+                                        ; Value is the same as the SP parameter
+                                        ; of the WFSU remote command.
+;
+<140>          SEGMENT_INDEX: long      ; for input and output, indicates the
+                                        ; index of the transmitted segment.
+                                        ; Value is the same as the SN parameter
+                                        ; of the WFSU remote command.
+;
+<144>          SUBARRAY_COUNT: long     ; for Sequence, acquired segment count,
+                                        ; between 0 and NOM_SUBARRAY_COUNT
+;
+<148>          SWEEPS_PER_ACQ: long     ; for Average or Extrema,
+                                        ; number of sweeps accumulated
+                                        ; else 1
+;
+<152>          POINTS_PER_PAIR: word    ; for Peak Dectect waveforms (which always
+                                        ; include data points in DATA_ARRAY_1 and
+                                        ; min/max pairs in DATA_ARRAY_2).
+                                        ; Value is the number of data points for
+                                        ; each min/max pair.
+;
+<154>          PAIR_OFFSET: word        ; for Peak Dectect waveforms only
+                                        ; Value is the number of data points by
+                                        ; which the first min/max pair in
+                                        ; DATA_ARRAY_2 is offset relative to the
+                                        ; first data value in DATA_ARRAY_1.
+;
+<156>          VERTICAL_GAIN: float     
+;
+<160>          VERTICAL_OFFSET: float   ; to get floating values from raw data :
+                                        ; VERTICAL_GAIN * data - VERTICAL_OFFSET
+;
+<164>          MAX_VALUE: float         ; maximum allowed value. It corresponds
+                                        ; to the upper edge of the grid.
+;
+<168>          MIN_VALUE: float         ; minimum allowed value. It corresponds
+                                        ; to the lower edge of the grid.
+;
+<172>          NOMINAL_BITS: word       ; a measure of the intrinsic precision
+                                        ; of the observation: ADC data is 8 bit
+                                        ;    averaged data is 10-12 bit, etc.
+;
+<174>          NOM_SUBARRAY_COUNT: word ; for Sequence, nominal segment count
+                                        ; else 1
+;
+<176>          HORIZ_INTERVAL: float    ; sampling interval for time domain
+                                        ;  waveforms
+;
+<180>          HORIZ_OFFSET: double     ; trigger offset for the first sweep of
+                                        ; the trigger, seconds between the
+                                        ; trigger and the first data point
+;
+<188>          PIXEL_OFFSET: double     ; needed to know how to display the
+                                        ; waveform
+;
+<196>          VERTUNIT: unit_definition  ; units of the vertical axis
+;
+<244>          HORUNIT: unit_definition   ; units of the horizontal axis
+;
+<292>          RESERVED3: word          
+<294>          RESERVED4: word          ; 2 expansion entries
+;
+<296>          TRIGGER_TIME: time_stamp ; time of the trigger
+;
+<312>          ACQ_DURATION: float      ; duration of the acquisition (in sec)
+                                        ; in multi-trigger waveforms.
+                                        ; (e.g. sequence, RIS,  or averaging)
+;
+<316>          RECORD_TYPE: enum        
+               _0      single_sweep     
+               _1      interleaved      
+               _2      histogram        
+               _3      graph            
+               _4      filter_coefficient
+               _5      complex          
+               _6      extrema          
+               _7      sequence_obsolete
+               _8      centered_RIS     
+               _9      peak_detect      
+               endenum                  
+;
+<318>          PROCESSING_DONE: enum    
+               _0       no_processing   
+               _1       fir_filter      
+               _2       interpolated    
+               _3       sparsed         
+               _4       autoscaled      
+               _5       no_result       
+               _6       rolling         
+               _7       cumulative      
+               endenum                  
+;
+<320>          RESERVED5: word          ; expansion entry
+;
+<322>          RIS_SWEEPS: word         ; for RIS, the number of sweeps
+                                        ; else 1
+;
+; The following variables describe the basic acquisition
+; conditions used when the waveform was acquired
+;
+<324>          TIMEBASE: enum           
+               _0    1_ps/div           
+               _1    2_ps/div           
+               _2    5_ps/div           
+               _3    10_ps/div          
+               _4    20_ps/div          
+               _5    50_ps/div          
+               _6    100_ps/div         
+               _7    200_ps/div         
+               _8    500_ps/div         
+               _9    1_ns/div           
+               _10   2_ns/div           
+               _11   5_ns/div           
+               _12   10_ns/div          
+               _13   20_ns/div          
+               _14   50_ns/div          
+               _15   100_ns/div         
+               _16   200_ns/div         
+               _17   500_ns/div         
+               _18   1_us/div           
+               _19   2_us/div           
+               _20   5_us/div           
+               _21   10_us/div          
+               _22   20_us/div          
+               _23   50_us/div          
+               _24   100_us/div         
+               _25   200_us/div         
+               _26   500_us/div         
+               _27   1_ms/div           
+               _28   2_ms/div           
+               _29   5_ms/div           
+               _30   10_ms/div          
+               _31   20_ms/div          
+               _32   50_ms/div          
+               _33   100_ms/div         
+               _34   200_ms/div         
+               _35   500_ms/div         
+               _36   1_s/div            
+               _37   2_s/div            
+               _38   5_s/div            
+               _39   10_s/div           
+               _40   20_s/div           
+               _41   50_s/div           
+               _42   100_s/div          
+               _43   200_s/div          
+               _44   500_s/div          
+               _45   1_ks/div           
+               _46   2_ks/div           
+               _47   5_ks/div           
+               _100  EXTERNAL           
+               endenum                  
+;
+<326>          VERT_COUPLING: enum      
+               _0      DC_50_Ohms       
+               _1      ground           
+               _2      DC_1MOhm         
+               _3      ground           
+               _4      AC,_1MOhm        
+               endenum                  
+;
+<328>          PROBE_ATT: float         
+;
+<332>          FIXED_VERT_GAIN: enum    
+               _0   1_uV/div            
+               _1   2_uV/div            
+               _2   5_uV/div            
+               _3   10_uV/div           
+               _4   20_uV/div           
+               _5   50_uV/div           
+               _6   100_uV/div          
+               _7   200_uV/div          
+               _8   500_uV/div          
+               _9   1_mV/div            
+               _10  2_mV/div            
+               _11  5_mV/div            
+               _12  10_mV/div           
+               _13  20_mV/div           
+               _14  50_mV/div           
+               _15  100_mV/div          
+               _16  200_mV/div          
+               _17  500_mV/div          
+               _18  1_V/div             
+               _19  2_V/div             
+               _20  5_V/div             
+               _21  10_V/div            
+               _22  20_V/div            
+               _23  50_V/div            
+               _24  100_V/div           
+               _25  200_V/div           
+               _26  500_V/div           
+               _27  1_kV/div            
+               endenum                  
+;
+<334>          BANDWIDTH_LIMIT: enum    
+               _0      off              
+               _1      on               
+               endenum                  
+;
+<336>          VERTICAL_VERNIER: float  
+;
+<340>          ACQ_VERT_OFFSET: float   
+;
+<344>          WAVE_SOURCE: enum        
+               _0      CHANNEL_1        
+               _1      CHANNEL_2        
+               _2      CHANNEL_3        
+               _3      CHANNEL_4        
+               _9      UNKNOWN          
+               endenum                  
+;
+/00              ENDBLOCK
+;
+;==========================================================================
+;
+USERTEXT: BLOCK
+;
+; Explanation of the descriptor block USERTEXT at most 160 bytes long.
+;
+;
+<  0>          TEXT: text               ; a list of ASCII characters
+;
+/00              ENDBLOCK
+;
+;==========================================================================
+;
+DATA_ARRAY_1: ARRAY
+;
+; Explanation of the data array DATA_ARRAY_1.
+; This main data array is always present. It is the only data array for
+; most waveforms.
+; The data item is repeated for each acquired or computed data point
+; of the first data array of any waveform.
+;
+<  0>          MEASUREMENT: data        ; the actual format of a data is
+                                        ; given in the WAVEDESC descriptor
+                                        ; by the COMM_TYPE variable.
+;
+/00              ENDARRAY
+;
+;==========================================================================
+;
+DATA_ARRAY_2: ARRAY
+;
+; Explanation of the data array DATA_ARRAY_2.
+; This is an optional secondary data array for special types of waveforms:
+;       Complex FFT     imaginary part      (real part in DATA_ARRAY_1)
+;       Extrema         floor trace         (roof trace in DATA_ARRAY_1)
+;       Peak Detect     min/max pairs       (data values in DATA_ARRAY_1)
+; In the first 2 cases, there is exactly one data item in DATA_ARRAY_2 for
+; each data item in DATA_ARRAY_1.
+; In Peak Detect waveforms, there may be fewer data values in DATA_ARRAY_2,
+; as described by the variable POINTS_PER_PAIR.
+;
+<  0>          MEASUREMENT: data        ; the actual format of a data is
+                                        ; given in the WAVEDESC descriptor
+                                        ; by the COMM_TYPE variable.
+;
+/00              ENDARRAY
+;
+;==========================================================================
+;
+TRIGTIME: ARRAY
+;
+; Explanation of the trigger time array TRIGTIME.
+; This optional time array is only present with SEQNCE waveforms.
+; The following data block is repeated for each segment which makes up
+; the acquired sequence record.
+;
+<  0>          TRIGGER_TIME: double     ; for sequence acquisitions,
+                                        ; time in seconds from first
+                                        ; trigger to this one
+;
+<  8>          TRIGGER_OFFSET: double   ; the trigger offset is in seconds
+                                        ; from trigger to zeroth data point
+;
+/00              ENDARRAY
+;
+;==========================================================================
+;
+RISTIME: ARRAY
+;
+; Explanation of the random-interleaved-sampling (RIS) time array RISTIME.
+; This optional time array is only present with RIS waveforms.
+; This data block is repeated for each sweep which makes up the RIS record
+;
+<  0>          RIS_OFFSET: double       ; seconds from trigger to zeroth
+                                        ; point of segment
+;
+/00              ENDARRAY
+;
+;==========================================================================
+;
+SIMPLE: ARRAY
+;
+; Explanation of the data array SIMPLE.
+; This data array is identical to DATA_ARRAY_1. SIMPLE is an accepted
+; alias name for DATA_ARRAY_1.
+;
+<  0>          MEASUREMENT: data        ; the actual format of a data is
+                                        ; given in the WAVEDESC descriptor
+                                        ; by the COMM_TYPE variable.
+;
+/00              ENDARRAY
+;
+;==========================================================================
+;
+DUAL: ARRAY
+;
+; Explanation of the DUAL array.
+; This data array is identical to DATA_ARRAY_1, followed by DATA_ARRAY_2.
+; DUAL is an accepted alias name for the combined arrays DATA_ARRAY_1 and
+; DATA_ARRAY_2 (e.g. real and imaginary parts of an FFT).
+;
+<  0>          MEASUREMENT_1: data      ; data in DATA_ARRAY_1.
+;
+<  0>          MEASUREMENT_2: data      ; data in DATA_ARRAY_2.
+;
+/00              ENDARRAY
+;
+;
+000000               ENDTEMPLATE
+"
+
+</pre>
This page took 0.043019 seconds and 4 git commands to generate.