* -*- mode: outline; -*- Time-stamp: "FIX.txt: Thu Oct 5 10:19:27 2006"

* Release 1.3 Build 06100101

** 148 DSO display export now supported
   
   The DSO can now save an image of the main display to a BMP file.
   
   A new button (SAVE) appears on the lower right of the application.
   When clicked a file dialog appears requesting the name of the BMP
   file to which to save the current display image.
 
** 399 Offline DDR replay ghosts removed
   
   When Offline DDR replay was stopped and the file closed, the last
   data frame remained on the display until a new DDR file was opened.
   This is now fixed (the display is cleared when the file is closed).
 
** 397 Measurement variables activated for DDR replay
   
   Most signal measurement variables (shown under the main display)
   are now updated when replaying DDR waveforms. Previously they
   continued to report values for new captures or no values at all in
   the case of offline DDR replay.
 
** 284 Offline DDR replay stale status fixed
   
   Previously the display showed DDR replayed waveforms as stale (ie,
   displayed in feint colours) under circumstances where the DSO would
   have marked a new capture data as stale (eg, when the device buffer
   was overwritten with new data). Since DDR replay is unrelated to
   new capture data this was erroneous and has now been fixed. It was
   most noticable when using DDR for Offline Replay.
 
** 366 Improved mixed signal DDR replay operation
   
   Previously DDR replayed one channel per clock tick in mixed and
   multi-channel analog modes. It has been changed to ensure that all
   recorded channels are replayed simultaneously if they were captured
   on the same trigger event. While it is therefore no longer possible
   to update one channel at a time on replay, it means all displayed
   waveforms and logic traces on all channels are referenced to the
   same original trigger event.
   
** 241 Application window maximize now operates correctly
   
   When the DSO application window maximize button is clicked the DSO
   window maximized as expected. If the application was then powered
   off and on again, the window automatically resized (non-maximized)
   which confused Windows (the application window lost sync with the
   state windows expected). This meant repowering the application also
   required resizing the application window if maximized at the time.
   
   This is now fixed.
   
   The maximum application window size allowed has is also increased.
   
   It is now possible to maximize the DSO to 4096x3072 (if you're
   running a monitor with sufficiently high resolution to do this !).
   
** 396 Initial Timebase and Timescale toggles fixed
   
   When the timebase or timescale controls are left clicked, they
   toggle (see 340) to the previous value. However when the DSO first
   starts there is no "previous value" so the toggle flipped to an
   predefined value. For the timebase control this was 10nS/Div which
   in most cases is not very useful. 
   
   The initial timebase toggle is now one decade (ie, 50nS/Div to
   500nS/Div). The initial timescale toggle is now one decade in the
   other direction, ie x1 to x10.
   
** 291 Fixed slow clock looped waveform generator output
   
   Previously choosing a low frequency generated waveform with an
   associated slow timebase sometimes failed to produce waveform
   output when the waveform generator's loop mode was selected. 
   Now fixed.
 
** 395 Fixed errors induced by large timebase parameter change
   
   Previously it was possible to capture a waveform at a fast timebase
   (eg, 1uS/Div) and then select a slower timebase (eg, 20mS/Div) and
   cause an internal error preventing further operation.
   
   This was only seen when a one-shot capture was performed at the
   fast timebase and then the slower timebase selected. When using
   auto or repeating triggers it was not seen. Now fixed.
 
** 384 Offline DDR file replay simplified
   
   When the DSO is started offline (ie, not connected to a BitScope),
   the DSO Data Recorder (DDR) is automatically selected and offers a
   file dialog to select a waveform recording to replay.
   
   Upon selection, the waveform is automatically replayed without the
   need to select any other DDR commands and continues until stopped.
   
   This change makes using the DSO as a DDR file viewer very easy.
   
   DDR recordings may now be replayed on any PC which has BitScope DSO
   software installed without the need for physical BitScope device.
 
** 382 Fixed last waveform sample when displaying DDR data
   
   The last displayed sample could sometimes be calculated erroneously
   when a DDR file was replayed and the display zoomed wider than the
   available waveform duration. 
   
   It usually appeared as a glitch at far right edge of the waveform.
   
   This glitch was in fact not present in the waveform itself. 
   
   Now fixed.
 
** 393 Fixed decimated logic display
   
   When the decimated display mode was selected the main logic display
   sometimes displayed flat-line traces. This was easily seen when the
   delay timebase in MIXED mode was enabled. Now fixed. 
   
   Note that care should be take when using decimated logic displays
   anyway because transitions may not be shown if the timebase is set
   to low for the speed of the logic being traced. In all other modes
   the display indicates when there are logic transitions at a rates
   too high for the current display setting (with high/low shading).
   Where decimated logic displays can be useful is for slower speed
   logic when real-time repeating capture display refresh is needed.
 
** 390 DDR international data interchange fixed
   
   Previously DDR encoded data using the prevailing localization.
   
   This broke international data interchange; for example, it was not
   easy for a recording made in Germany to be replayed in the US.
   
   This change rectifies the problem by using a "global locale" when
   encoding and decoding DDR files. 
   
   That is, DDR files now use the US/English locale for encoded data.
 
** 383 DDR replay on heterogeneous systems now fixed
   
   Previously it was possible that a DDR file recorded by a BitScope
   of one type (eg BS310U) but replayed on another (eg, BS442N) would
   crash the DSO application. This problem also sometimes occured when
   using NIL device replay (see 344) and could also cause FUBAB errors
   when some extreme timebase parameters were selected and the display
   scrolled beyond the end of available waveform data.
 
** 375 Waveform generator loop mode operation improved
   
   In "Loop Mode" the AWG generates continuous waveform but this locks
   out scope operation (ie, BitScope is a dedicated AWG). Any waveform
   on the main display when loop mode is selected is now erased (as it
   is not valid and would be misleading if it remained visible.
   
   However the AWG preview display continues to show the waveform that
   is being generated. Note also that in loop mode the AWG parameters
   are disabled (it is not possible to change them while generating a
   continuous waveform). 
   
   Changing the loop mode parameters is however simple; disable loop
   mode, make changes, and then re-enable loop mode. Upon reselecting
   loop mode, BitScope is reprogrammed to generate the newly defined
   waveform.
   
   If REPEAT TRACE is enabled when switching to/from loop mode the
   display is updated (and a repeating one-shot waveform generated)
   live so you can use the DSO's main display to view the waveform
   that is actually being generated (on Channel B) and then switch to
   loop mode to generate it continuously.
 
** 185 Waveform generator preview display fixed
   
   The Waveform Generator (AWG) preview display was broken in a
   previous release. The AWG itself continued to work and the main
   display showed the waveform as generated as normal. 
   
   However with the rectification of this problem it is now possible
   to see the waveform that will be generated update live in the AWG's
   preview display as the waveform generator parameters are changed.
   
   This makes the waveform generator much easier to use.
   
** 355 Waveform generator parameter entry improved
   
   Previously is was possible to type out of range parameter values
   which were accepted and then range limited. This produced some
   curious values at times.
   
   This change ensures that values that are out of bounds are not
   accepted and the previous valid parameter value remains unchanged.
   
   A related change now means that all parameters are assumed to be
   unit scaled (eg, Hz, V etc). If a different unit scale is required
   (eg, mV, kHz, MHz etc) it is now necessary to postfix the required
   range specifier (eg, k = kilo, m = milli, M = Mega) to the entered
   value (eg, 10k, 2.34M, 120m etc).
   
   It also now possible to postfix an operator (+, -, * and /) to a
   value and have the entered value applied to the current parameter
   according to the specified operator (eg, 10k+ to add 10,000).
 
** 356 Analog trigger now shown as true/false band
   
   The analog trigger level was previously indicated as a horizontal
   hairline in the trigger window. By request we have changed this to
   show a true/false band instead.
   
   This change makes the trigger level easily seen (the hairline was
   on some CRT displays hard to see). It also makes explicit whether
   the trigger is set up for a rising or falling edge.
 
** 357 Delay band removed from plot displays
   
   Previously the delay band was rendered when X-Y plot display and
   delay timebase control were both enabled. This has been fixed.
 
** 209 User accessible offset calibration.
   
   BitScope channel offsets are factory calibrated.
   
   However some owners have requested the means to calibrate BitScope
   offsets themselves (without resorting to device programming).
   
   With this revision input offset calibration is now available and
   any changes may be saved to the device (ie, they're persistent).
   
   In summary, any analog channel configuration may now be calibrated
   to "zero out" small voltages offsets that may appear, in some cases
   even if the offsets are below the bit resolution of the A/D.
   
   The full calibration procedure for persistent recalibration of the
   entire channel circuit is beyond the scope of this release note but
   for simple use offset calibration is simply a matter of grounding
   the input, locating the channel trace to the center of the display
   and right-clicking the zero offset button.
   
   This pops up a menu allowing the (re)assignment of the input offset
   to zero (thus calibrating the channel to eliminate the offset).
   
   It is important to understand that a different offset calibration
   parameter may apply to each possible signal path through the analog
   channel circuitry. That is a different calibration offset value may
   be required for each input source, range and prescaler value.
   
   In some models this adds up to quite a few calibration parameters
   (eg, 20 for BS310U) however in practice the number of *different*
   parameters is much smaller (eg, 5 for BS310U). See the documented
   calibration procedure for details about how to calibrate them all
   and save the parameters to the device (so they will be reused next
   time the device is powered on).
 
** 349 Duplicate events on slow a CPU now prevented
   
   While the problem was most likely unnoticed by most people, it was
   possible that a slow response from the DSO (eg, when running on a
   slow Pentium II class PC or slower) could result in duplicate user
   interface events being registered. For example if clicking a widget
   appeared to be ignored and the widget was clicked again, two clicks
   were (eventually) handled (which is unlikely to be desirable). This
   change ensures that user interface interraction is "atomic" and one
   event only is handled.
 
** 348 Dialog box and slow CPU induced DSO application lockup fixed
   
   Previously it was possible that leaving a dialog box open for too
   long (eg, the DDR "file open" dialog) or running the DSO on a very
   slow PC could result in a FUBAB error from which the only recovery
   possible was to restart the application.
   
   This has now been fixed. A dialog box may be left open indefinitely
   and while overload on a very slow PC is still possible, an overload
   warning (SNAFU) is now issued and the application continues to run.
 
** 344 Added "device free" (ie "offline") DSO operation.
   
   The DSO can now be used without a BitScope device connected. 
   
   The motivation for this change is to allow DSO Data Recorder (DDR)
   to replay previously recorded waveforms and logic data "offline".
   
   It means you can now record data via a BitScope, save the file and
   later replay the data using the DSO itself (perhaps on a different
   PC) without a BitScope being connected.
   
   This mode of operation is referred to as "NIL device replay".
   
** 182 Added input "auto range" and "normalization"
   
   Each analog channel has two widgets for controlling the voltage
   scaling used to capture and display a waveform; input range and
   vertical scaling.
   
   Input range selects which of the device's analog attenuation ranges
   to use and vertical scaling controls the "Volts Per Division" to
   use for the display of the waveform.
   
   Setting these two parameters independently is very flexible as it
   allows precise control of the signal level at the A/D but a lot of
   people found this to be confusing and sometimes difficult to use.
   
   This change (optionally) ties these two parameters together in one
   of two ways: "auto-range" or "normalize".

   The auto-range mode is the default; when the vertical scaling is
   changed the input range is adjusted automatically to optimize A/D
   utilization to produce the highest resolution waveform capture.
   
   This mode is indicated by the vertical scaling being illuminated.
   
   Simply clicking the highlight de-couples the controls again so they
   may be used independently as before. Situations where this may be
   necessary may include tricky trigger setups (that require a given
   input range for effective use) or when a particular input range
   should be selected for reasons other than its attenuation (eg, to
   choose a range based on its bandwidth).
   
   The converse coupling mode is "normalized". In this case vertical
   scaling is slaved to input range. Clicking the input range display
   selects this mode which highlights the input range instead.

   When normalized, changing the input range automatically adjusts the
   vertical scaling such that the entire A/D range is shown aligned to
   the full display height.
   
   This can be very helpful when "finding" a small signal sitting on
   top of a large unknown offset (which therefore may not visible at
   small vertical scales without an offset first being applied). In
   such a case, normalize the channel and increase the range until the
   waveform comes into view. Use the offset to adjust the waveform to
   the centre of the display and then click the vertical scale again
   to re-select auto range mode. The waveform will now be displayed at
   the desired scale in the center of the display.
   
   Normalize mode can also be useful when you want to see how much of
   the A/D range is being used in a given setup. If the noise level,
   signal quantization or voltage offsets appear larger than expected
   it may be because the input range is not selected to optimize the
   use of the A/D. Normalization will very quickly expose the problem.
   The waveform will appear too small on the display indicating a more
   sensitive input range or prescaler should be selected.
   
   All modes (auto-range, normalized and de-coupled) operate with the
   probe scaling and analog prescalers (if available).
 
** 341 Fixed operation of the trigger and channel "leds"
   
   The trigger and channel "leds" were partially broken in a recent
   update. This change restores and enhances their operation:
   
   When a trace is initiated the trigger led illuminates in the colour
   of the channel selected as the trigger source. It remains lit until
   the trigger occurs. If a trigger fails to occur (AUTO selected),
   the led flashes RED for a short time to indicate no trigger was
   seen. When performing repeating capture, the trigger led glows in
   the channel colour or RED continuously to indicate a successful or
   failed trigger status.
   
   The capture led operates similarly to the trigger led but glows in
   the colour of the trigger source when data is uploaded from the
   device to the PC instead of when waiting for a trigger.
   
   The channels leds flash in the channel's collour when captured data
   for the channel is read from the device. If the input level is too
   high (ie, the waveform is clipped) the led glows RED to indicate an
   error condition. Choose a less sensitive input range (or vertical
   scale) or use an attenuating probe to fix this problem.
 
** 131 Pre-trigger control improved
   
   The pre-trigger control now toggles between "Off" (no pretrigger)
   and "25%" when left-clicked. On the display it locates the trigger
   point at the left edge (Off) or center (25%) of the display (if no
   waveform offset has been applied).
   
   The other pre-trigger values remain available (via the pop-up menu)
   and any such value when selected will become the new toggle.
   
   Some modes on some BitScope models do not display pre-trigger data
   on some channels when pre-trigger is selected. See the H/W guide
   for specific details. However in cases where this is due to the
   (slow) timebase maximizing the capture size (clicking the "capture
   time" display) may allow pre-trigger to be displayable.
  
** 340 Spin widgets replaced with toggles
   
   We received a lot of requests to change the operation of certain
   DSO controls; in particular "spin widgets" which select values by
   cycling through all available values when clicked.
   
   Examples include the channel probe and prescale, display and mode.
   
   These controls now toggle between two values only, when clicked.
   
   The values chosen for the toggle pair for each parameter have been
   selected to minimize UI interraction when performing most common
   operations; ie, we've minimized the number of mouse clicks needed.
   
   Channel probe scaling now toggles between x1 and x10. 
   
   Prescale (if available) toggles between "Off" and "10".
   
   Capture buffer toggles between the largest and smallest size.
   
   Data mode toggles between WideBand and "Raw Data".
   
   Display mode toggles between "Vector" and "Dot/Vector".
   
   If a parameter has more that two values, the other values may be
   selected via the pop-up menu. When a new value is selected this way
   it becomes the new toggle. If you have a x100 probe for example you
   may select "x100" after which the toggle will flip between "x1" and
   "x100" (instead of the default "x1" and "x10").
 
** 339 Input Range and V/Div controls now have pop-up menus
   
   By popular request the analog channel range and voltage scale
   controls now provide pop-up menus allowing selection of any value
   directly. The menus are accessed by right-clicking the value. 
   
   The Up/Down buttons continue to work as before to select the next
   and previous value.
 
** 336 Trigger view now scales properly for x10, x100 and x1k
   
   Previously the trigger view (display only) was attenuated by the
   probe scaling applied.
 
** 335 Secondary channel display fixed for "mute" samples
   
   The secondary channel (ie, the one which is *not* the trigger
   source when an analog trigger is used in ALT mode) on all BS3xx
   class BitScopes has a "mute" region (ie, a region of the waveform
   display that is not shown). If the timebase is increased to the
   point where the mute region extends across the entire display, and
   then the timebase is slowed so that some waveform should be shown,
   the DSO would produce a FUBAB error. 
   
   This is now fixed.

   Note that BS4xx class BitScopes were never affected nor were BS5x
   or BS3xx class BitScopes when a single channel display, dual
   channel CHOP display, MIXED mode display or ALT mode display with
   an external trigger source were not affected by this bug.
 
* Update 1.2.1 Build 06031902
 
** 153 Range control buttons disabled at range limits
   
   To provide a visual cue that the limit of a control range has been
   reached the inc/dec buttons on some controls (eg, Timebase) are now
   "greyed out" when the end of the range is reached. If a control is
   not adjustable in a given setup, both buttons are greyed out
   (unless the control itself is hidden instead).
 
** 283 Minor numeric display formatting bug fixed
   
   Previously it was possible that some numeric displays in the DSO
   reported the value 1000 as 1.00E3. While equivalent this did not
   conform to engineering ranges which should report (eg for in Hz)
   "1.00E3 Hz" as "1 kHz".
 
** 324 Automatic spectrum analyzer bandwidth selection improved
   
   The spectrum analyzer integrated in the scope instrument modes now
   chooses "nicer" bandwidth values by default. 
   
   Previously it was possible to resize the display and end up with
   larger but seemingly random spectrum bandwidths. The numbers always
   added up so measurements made using the cursors were fine but using
   the graticule to make a auick estimate frequency was not a task for
   the numerically challenged among us :-) Now fixed.
 
** 302 Capture sample rate now user selectable
   
   In most modes the DSO now allows the capture sample rate to be
   adjusted. By default the DSO will use the fastest sample rate it
   can (given the selected buffer size and timebase ) and generally
   speaking it's best to leave it to maximize capture resolution.
   
   However in some unusual situations it may be desirable to constrain
   the sample rate to a slower (or specific) speed. A situation where
   this may be desirable might be logic analysis to obtain a capture
   rate commensurate with the logic switching rate. Another may be to
   choose one of BitScope's sample rates to be inharmonic when looking
   at spectra that would otherwise have harmonics sitting on an exact
   (sub)multiple of the sample rate.
   
   Sample rate selection is made by right clicking the sample rate
   display to pop up a menu of available capture sample rates. Note
   that these refer to capture rates *not* necessarily the display
   rates which may be lower (decimating) or higher (interpolating) and
   depend on the data mode selected.
   
   Note also that this selects the *maximum* sample rate allowed. If a
   timebase and buffer size selection are such that it's not possible
   to capture at the chosen rate the rate used may be reduced. To
   avoid this, use a larger buffer or faster timebase or both.
 
** 320 Timebase controls modified/improved (based on user feedback)
   
   The timebase and timebase zoom controls now provide pop-up menus
   upon right-clicking the display allowing direct selection of any
   available timebase or zoom factor for the selected mode.
   
   The MIXED mode timebase control now works the same as the digital
   scope modes (SCOPE, ALT, CHOP etc) and now specifies the timebase
   as "time per division". Previously it specified the timebase on a
   "time per sample".
   
   MIXED mode defaults to the largest available buffer to provide the
   deepest mixed signal logic capture possible. The timebase zoom in
   this mode has been increased accordingly, now offering up to x1000
   zoom without the need to recapture. It is therefore now easier to
   examine individual samples in the buffer (of up to 128k captured).
   
   Timebase zoom now toggles between the two most recently selected
   values. By aligning a waveform feature of interest in the middle of
   the display it is now possible to view it at two different time
   scales with a simple click on the timebase zoom control without the
   need to enable the delayed timebase or perform a recapture.
 
** 325 Bandwidth and sample rate reported spectrum display
   
   The capture bandwidth and sample rate (capture or display, depends
   on data mode) are now reported at the bottom of spectrum displays.
   The frequency axis of spectrum displays is also now marked with 10
   divisions (like the waveform display) making quick calculations of
   relative frequency easier. The frequency of each division is 1/10
   of the reported bandwidth.
 
** 293 Spectrum magnitude cursor scaling bug fixed
   
   The spectrum analyzer magnitude display cursors now report "Decibel
   Relative" (dBr) values correctly. For most purposes where relative
   amplitudes of spectral lines or transition bands are required, dBr
   is very convenient.
   
   However the dBr displays may be referenced to show dBu, dBV or dBm
   by aligning the origin cursor to a sinusoidal reference signal of
   the required (RMS) amplitude (1V for dBV, 0.775V for dBu or 0.224V
   into 50ohms for dBm) and then using the measurement cursor to read
   the referenced decibel values. The built-in waveform generator (and
   50ohm termination) in BitScope models that support these features
   can be used as the reference signal source.
   
** 319 Timebase related display update bug fixed
   
   A display/capture related bug that could result in a fatal error
   has been fixed. It arose if the display was resized to a new size
   larger than the default size, capture was then performed and the
   timebase subsequently reduced from at certain timebase values.
 
** 313 Dot/Vector selected correctly
   
   The Dot/Vector display mode was not always activated when selected,
   instead displaying dots only. The "vectors" are now enabled in all
   data modes where it makes sense. Vectors are drawn as "background"
   in data modes where it is meaningful (eg WideBand). The background
   ghosts that sometimes accompanied mode switches are fixed (318).
 
** 308 AWG dual channel mode fixed
   
   A recently introduced bug meant the AWG did not display channel B
   correctly in some situations if both channels were enabled. While
   it was still possible to use each channel seperately, concurrent
   display was sometimes not possible. Fixed.
 
* Update 1.2.1 Build 05101802
 
** 184 Data recorder added (DDR)
   
   The DSO Data Recorder (DDR) is a major new feature of the DSO.

   It (optionally) listens to all enabled capture channels recording
   the data to an internal frame buffer for immediate review, replay
   and comparison with newly captured data.
   
   It can also record multi-channel analog and/or logic frames "live"
   to capture files, either one frame at a time or continuously. 

   The files produced by the DDR are encoded in the ubiquituous CSV
   format and may be opened in almost any spreadsheet or third party
   numerical tool such as MatLab for analysis. DDR files may also be
   reloaded into the DSO for live replay or comparison with new data.

   Like the spectrum analyser, interraction with the DDR is tightly
   integrated with the operation of the rest of the DSO application.
   Usually you'll barely notice it's there (in fact you can completely
   ignore it it you're not using it).

   It is accessed via the DSO's CAPTURE/DISPLAY panel using a single
   small display showing DDR status and an associated pop-up menu to
   select its operating functions. Like DSO waveform capture itself,
   DDR record/replay operation is driven via REPEAT and TRACE buttons.
   
   The current implementation of the DDR is functionally complete but
   may still have some bugs. It uses the recently added frame buffer,
   (184) device manager (304) and several new virtual devices (303),
   and the new high performance interractive display engine (221). If
   you encounter problems please let us know.
   
** 303 Virtual device support added
   
   Virtual devices route data from multiple physical devices, record
   data from physical devices to files and/or networks and replay data
   from files and/or networks or synthesized waveforms (according to
   parametric specifications). They form the basis of the forthcoming
   virtual scope and data recorder features.
   
** 184 Frame buffer support added
   
   Added frame buffer support to enable the forthcoming data record,
   replay, export and import functions. The frame buffer stored the
   most recent capture frames for later recall and/or saving to disk.
   
** 304 New device manager added
   
   The DSO capture engine is now running a new device manager which
   supports connection to multiple devices of heterogenous type.

   Its presence should have little noticable effect on the DSO (yet).
   
   Is it included as the first step in support of running multiple
   BitScopes from the one PC and/or the creation of a large virtual
   digital oscilloscope comprising a set of syncronized BitScopes.
   
** 131 Fast clock pre-trigger display updated (WIDE)
   
   Pre-trigger display has been improved and is now more intuitive.

   Pre-trigger display is no longer disabled if prevailing capture
   parameters do not support it. Instead WIDE displays the capture
   referenced to the selected pre-trigger view but with pre-trigger
   data omitted (since it cannot be captured) which is visually far
   more intuitive and informative.
   
** 221 Waveform Intuitive Display Engine (WIDE)
   
   The DSO's waveform display sub-system has now been replaced with a
   new "Waveform Intuitive Display Engine" aka "WIDE".
   
   This new engine is much faster than before, particular when other
   factors (eg, slow network links) might otherwise slow the display
   responsiveness and refresh speed. Employing waveform caching and
   render engine acceleration techniques, WIDE is capable of providing
   significant performance improvements on even modest PC hardware.
   
   It is "intuitive" because it immediately updates displayed data on
   screen when capture parameters or capture modes (such as timebase
   or analog/mixed capture modes) are changed. Even if no new data is
   captured it reprocesses previously captured data and immediately
   displays it correctly in the new context.
   
   It is also "interractive" because it responds to control changes
   very quickly to allow scrolling, zooming and rescaling of waveform
   and spectrum displays in real-time which together with the display
   cursors makes data examination fast and easy.
   
** 245 Replaced data management sub-system
   
   Signficantly improved data capture management is now in place. It
   supports dynamic data caching, a data import/export infrastructure,
   a generalized data capture interface and multiple device operation.
   
   The most noticable effect of this change so far is faster display
   update (particularly when scrolling captured waveforms) and faster
   performance when using slow or unreliable network links. Many more
   improvements are to come that leverage this internal change.
   
** 088 Improved connectivity when used via unreliable networks
   
   When a Network BitScope was use via an unreliable network such as a
   WiFi link or even the Internet, duplicate, missing or fragmented IP
   packets sometimes slowed the link speed significantly (due to the
   timeout based protocol recovery mechanism). This change improves
   BitScope performance in such situations by using smarter protocol
   recovery which relies much less on timeout driven error detection.
  
** 289 Fast clock pre-trigger on slow timebase fixed
   
   Previously it was possible to have insufficient pre-trigger delay
   applied to a capture when the timebase was set to a slow value. As
   a consequence the first few samples in the capture became invalid
   (they usually showed "old" data) if a non-zero pre-trigger value
   was selected. This problem was difficult to see because it only
   affected a few combinations of timebase and pre-trigger values and
   when capturing repeating waveforms it was almost impossible to
   see. This problem is now fixed.
   
** 295 Logic trigger defaults to "immediate trigger"
   
   Previously when first selecting logic as the trigger source, the
   trigger condition defaulted to "never trigger", ie it selected "all
   bits don't care" on a RISING (false -> true) edge. Since "all bits
   don't care" is always true a false to true transition was
   impossible and the trigger would not fire.
   
   Of course establishing an explicit logic condition (ie setting one
   or more bits from their default "don't care" value to 1 or 0) was
   all that was required to establish a trigger that could fire but
   the default condition "never trigger" was less than intuitive and
   not very useful.
   
   This change defaults the logic source to a STATE trigger with all
   bits "don't care" which produces an "immediate trigger" condition.
   This is very useful if you want BitScope to trigger immediately
   regardless of the signals appearing at the analog and/or inputs
   inputs.
   
   By manually selecting RISING or FALLING you can establish a "never
   trigger" condition if you really need one but this new default
   ("immediate logic trigger") is perhaps a more useful default for
   most situations.
   
** 297 Raw data mute sample handling fixed
   
   The new raw data capture mode (see 247) did not hide "mute" samples
   correctly. Mute samples are those which cannot be displayed at the
   start of the secondary channel when in ALT capture mode on single
   A/D model BitScopes due to the channel switchover delay. The
   consequence was that a few samples of data from the primary channel
   were displayed at the start of the secondary channel. Now fixed.
   
* Release 1.2 Build 05060602
  
** 192 Enhanced dual channel mode added
   
   The CHOP dual channel mode has been enhanced in BS310U, BS310N and
   BS50U models. Previously (and in older models) chopped dual channel
   did not support the filtering, decimation and waveform enhancement
   modes that ALT dual channel capture supports. The consequence was
   that "wide band" and high bit resolution displays (ie, >8bit) were
   not possible in CHOP modes. Deep buffer analog capture was also not
   supported which meant high ratio timebase zoom was not possible.
   
   This change means CHOP dual channel displays are now very similar
   to ALT dual channel displays. This will be of particular interest
   to those working in audio and other low frequency applications as
   it provides higher resolution waveform display, spectrum analysis
   and untriggered, non-repeating waveform phase plotting abilities.
   
   The maximum timebase zoom in chop dual channel is now the same as
   ALT dual channel (x50) compared to x5 in earlier DSO versions and
   older model BitScopes.
   
** 208 Channel phase correct on repeat capture termination
   
   Terminating a repeating capture dual channel or mixed mode display
   by turning TRACE off instead of turning REPEAT off resulted in the
   potential for a phase error between the two channels on the display
   after capture stopped.
   
   Scrolling the display or reselecting the VI caused any such error
   to disappear, but now it does not appear in the first place.
   
   Note that with alternating capture (ALT) inter-channel phase is
   only valid for repeating waveforms where both channels reference
   the same repeating trigger. However if this is the case, capture
   termination now guarrantees that both are displayed in the correct
   phase with respect to each other and the trigger.
   
* Beta Release 1.2 Build 05042701
  
  This interim release fixes a few minor bugs in the previous build.
  
** 292 DSO error when no device detected fixed
   
   When the DSO is started but no device was found, either because a
   device is not connected or the SETUP is incorrect the application
   defaults to "demo mode". However is was sometimes possible that the
   DSO would throw an error requiring it to be restarted.
   
** 290 Continuous wavgen (loop mode) fixed
   
   The LOOP mode of waveform generator was inadvertently broken by
   changes made in build 05041501. Now fixed.
   
** 272 Cursors moved "underneath" the waveforms
   
   This (previously "fixed" bug) is now properly fixed.
   
* Beta Release 1.2 Build 05041501
  
** 072 Slow range timebase now supported correctly
   
   Previously selecting a timebase value which was too slow for the
   connected device (ie, because the device does not have a large
   enough buffer, viz BS50U @ 32kS vs BS310U @ 128kS) would cause the
   DSO to "lock up" (trying to find a suitable capture mode). This is
   now fixed such that if the timebase is set slower than the device
   can support, the capture proceeds at the slowest rate that can be
   supported and the duration of the capture shortened. At present the
   display does not adjust correctly so the very end of the data is
   invalid, but this display bug will be fixed.
   
** 268 Wavegen one-shot pedestal removed
   
   One-shot (ie, non-LOOP) mode of the waveform generator no longer
   produces a zero volt pedestal prior to commencing playback when run
   on BS50U and BS310U. Older models still have this arfefact.
   
** 275 Analog prescalers no longer change V/Div setting
   
   Previously when a prescaler was selected (x10 on BS50U and x10/x50
   on BS310U) the V/Div setting was rescaled as well. This proved to
   be inconvenient in many cases. With this change the V/Div value is
   now left unchanged. If you need to more sensitive range you simply
   select it. Generally speaking the idea is that when you have a low
   level signal display and quantization noise is becoming significant
   you can now choose a prescaler to improve the resolution without
   needing to adjust any other settings.
   
** 254 Vertical position "snap back" fixed
   
   Depending on the BitScope model and probe scaling, changing the
   vertical position and performing a new capture resulted in the
   trace snapping back to the original position. The problem affected
   BS50U and BS310U BNC inputs on other than x1 probe settings because
   these models have analog input offset control on the BNC inputs
   which was not evaluated correctly. The digital offset (which is
   available in all models) applied the correct offset until the next
   trace was performed when the (incorrect) offset was applied via the
   analog offsets. Now fixed.
   
** 272 Cursors moved "underneath" the waveforms
   
   Where cursors intersect a waveform they no longer obscure the
   waveform. Previously it was possible to have (for example) a
   horizontal voltage cursor "hide" a DC voltage. The waveform now
   takes precedence with the dotted cursor "punctuating" the data.
   
** 050 Improved "first-time" USB detection (Windows)
   
   When a USB BitScope was opened (by the DSO) under Windows the first
   time after the BitScope was connected to the PC it was not always
   detected. While simply clicking the DSO POWER button again fixed
   the problem, it should no longer occur in the first place.
   
** 131 Fast clock pre-trigger display added
   
   Fast clock pre-trigger capture is now supported. 
   
   The position of the trigger may be selected from a standard set
   comprizing 0%, 25%, 50%, 75% and 100% of the capture buffer size.
   
   If set to 0% all capture is post-trigger. 
   
   If set to 100% all capture is pre-trigger. 
   
   If set in between, the ratio pre/post is as specified.
   
   The prevailing pre-trigger setting is shown in blue directly below
   the trigger window (top left of the application). It may be changed
   by left-clicking (to select the next value) or right-clicking (to
   pop up a menu to select a value directly).
   
   When set to other than 0% or 100% a vertical grey marker appears on
   the display to show where the trigger point is in the waveform. If
   the graticule (aka GRID) is enabled it may not be visible (ie, it
   may be hidden by the graticule). To see it, disable the graticule
   or scroll the waveform a little.
   
   Pre-trigger capture will be automatically disabled if you choose
   DSO parameters that are incompatible with it. For example, enabling
   the delayed timebase disables pre-trigger display. If the device
   does not support pre-trigger it will be disabled. This applies to
   early models only: BS120 and BS220 only. When the pre-trigger is
   disabled the pre-trigger widget is "greyed out" it indicate this.
   
   Note #1 when two channels are enabled on some BitScope models the
   channel chosen as the trigger source (primary) can be viewed pre-
   trigger but the other other channel (secondary) cannot. The DSO
   caters for this by "muting" (ie, not displaying) the secondary
   channel until after the trigger point. If you select a pre-trigger
   of 100% you won't be able to see the secondary channel at all. If
   you want to see both channels pre-trigger (on BS310) use a logic
   trigger source (ie, one of the logic inputs) instead of analog.
   
   Note #2 if you use a slow clock mode (eg CHOP) or slow the timebase
   down in other modes to a point that the device switches to the slow
   clock mode, any pre-trigger display (if selected) will be disabled
   because pre-trigger is not (yet) supported in slow clock modes. To
   ensure BitScope uses its fast clock (therefore allowing you to use
   pre-trigger display) even with a slow timebase use a larger capture
   size (see 260 below).
   
** 271 Fixed trace mode selection for BS120 and BS220
   
   The large clock rate gap (25 MHz to 1 MHz) in these earlier models
   sometimes broke the trace mode selection algorithm. This was made
   worse by the recent selectable buffer size change (260). A trace
   mode that was too fast would sometimes be selected resulting in
   buffer wrap at a point >50% of the way though a capture. Fixed.
   
** 267 Fixed capture sample clock control
   
   When the sample rate was changed between two fast clock rates (eg,
   25 MHz to 5 MHz) the first capture following the change would be
   performed at a sample rate which was very slightly different to
   that requested. All subsequent captures were not affected. The
   effect was usually quite difficult to see causing less than 1%
   frequency error but in some cases it more was noticable as a
   "wrong" waveform appearing on the display briefly, following a mode
   change.  This problem is now fixed.
   
** 050 Improved "first-time" USB detection (Windows)
   
   When a USB BitScope was opened (by the DSO) under Windows the first
   time after the BitScope was connected to the PC it was not always
   detected. While simply clicking the DSO POWER button again fixed
   the problem, it should no longer occur in the first place. Linux
   systems were unaffected.
   
** 265 Fixed initial trace following power-on (local)
   
   Since introducing the adjustable capture size (see 260), the first
   trace following "power on" was captured at the wrong sample rate
   resulting in a corrupted display. All subsequent traces were ok but
   with this change the first one is correct too.
   
** 235 Waveform generator operation improved for BS30x
   
   One of the changes to improve USB performance (see 213) had the
   unfortunate side-effect of making less reliable communications for
   waveform generator update in RS-232 based BitScopes (BS300S). Only
   some were affected but this potential problem is now eliminated.
   
** 250 Zoom Timebase normalization bug fixed
   
   If you click the Timebase Zoom display it toggles between whatever
   zoom value you have selected and x1. This allows you to switch back
   and forth between the x1 time scale and some other time scale of
   your choosing.
   
   Previously if you power-cycled DSO (ie, clicked the POWER button
   off and on) this feature stopped working requiring that you restart
   the application to get it back again.  Now fixed.
   
** 261 Capture size, Data and display modes VI dependent
   
   Each Virtual Instrument (VI) has its own set of data and display
   modes and selected capture buffer size. If you make changes to any
   of these parameters and switch to a different VI (eg, ALT to MIXED)
   you will also switch to a new set of these parameters (which you
   can also change).
   
   We do this because in different VIs you (usually) need to set up
   these parameters differently (just as with timebase, timebase zoom,
   waveform offset etc).
   
** 211 Sample rate reported for analog waveform displays
   
   Sample rate (FS) is now shown on waveform displays.
   
   It replaces bandwidth (BW) which was sometimes confusing (note:
   bandwidth is still shown on spectrum displays).
   
   The sample rate shown depends on the selected data mode.
   
   In "Raw Data" and "Decimated" modes it reports the sample rate as
   actually captured.
   
   In "Enhanced" mode it shows the "signal processed" rate.
   
   Depending on the timebase this will be lower or higher than the
   captured sample rate.
   
   If it's lower the DSO is decimating (and filtering) and the sample
   resolution of the waveform will be enhanced (up to 12 bits in total
   depending on the capture size).
   
   If it's higher the DSO is interpolating. In this case there is no
   sample resolution enhancement and bandwidth remains as was
   captured, but the data is displayed (when Vector is selected)
   interpolated to approximate what the bandlimited waveform would
   look like if it were actually captured at this higher rate.
   
** 260 Capture buffer size now adjustable
   
   Previously the DSO always used the largest buffer (and/or fastest
   capture sample rate) it could. 
   
   This may not always be what you want.
   
   Now you can adjust the capture size by right-clicking the "Capture
   Time" which shows a menu allowing the selection from the available
   capture buffer sizes.
   
   You may prefer a smaller buffer for analog displays to limit the
   sample rate and/or increase the raw data display refresh rate.
   
   For slow one-shot mixed or logic captures you may prefer to shorten
   the time you need to wait before the entire capture completes (eg,
   capturing just 5000 samples at 250uS/sample takes 800mS whereas if
   capturing an entire buffer, say 64k, it would take 12.8 seconds !).
   
** 252 Unique device ID now shown
   
   In future the DSO software will be able to use multiple devices
   simultaneously so it needs a mechanism by which each device can be
   uniquely identified and addressed. The ID built into BitScope is to
   be used for this purpose and is now shown at the bottom of the DSO
   application window.
   
   It will also be used to key device specific calibration parameters
   and other user device settings and offers the possibility of
   locating devices by ID regardless of where they are located or how
   they are connected. We may also use it to simplify device sharing
   among multiple users.
   
** 232 Anonymous device support
   
   It is now possible to specify a link to a device which is not a
   standard BitScope. When the DSO attempts to open a link to a
   BitScope it checks the BitScope version is one that it
   supports. This test can be disabled by appending a "-" character to
   the link specification in the probe file (ie, specifying a
   byte-code string match as "-").
   
   Normally you should not disable this sanity check unless you know
   what you're doing.
   
* Beta Release 1.2 Build 05031008
  
  This release does not include the data export, pre-trigger
  view or waveform preview because these features are still
  in alpha test. Rather than delay this update for these new
  features we release this interim version now because it
  fixes many known bugs and solves some problems caused by
  some recent Windows Service Packs (including WinXP/SP2).

  If you have had stability or performance problems running
  earlier versions of this software, we recommend you switch
  to this version.
  
** 160 Fixed WinXP/Win2k VCP/COM driver issues
   
   Recent updates from Microsoft for Windows XP (Home and
   Pro versions) and Windows 2000 made USB communications
   unreliable on some PCs (it appeared to depend on what was
   installed on the PC and the order in which the Windows
   Updates were applied). WinXP/SP2 when installed on a SP1
   PC was also subject to these problems.
   
   This change includes substantial modifications to how DSO
   uses the serial drivers (ie, FTDI USB VCP/COM) which may
   also help some Win2k users who use RS-232 to communicate
   with their BitScope.
   
   The net effect is (we hope) to improve both reliability
   of the connection between the PC and BitScope and also
   improve the link performance (ie, data speed). You need
   to make sure you are using the latest USB drivers from
   FTDI (available from http://www.ftdichip.com) to take
   full advantage of these changes.
   
   As this problem affected only some systems we cannot yet
   be certain that all these issues are resolved.  We have
   performed extensive in-house testing to suggest they are
   fixed but if you were affected by this problem, please
   let us know whether this change does not fix it in your
   case (mailto:dso@bitscope.com).
   
** 201 Capture/Display panel redesigned
   
   The HIRES, DOTS and KEEP buttons on the capture/display
   panel have been replaced with parameter displays and the
   layout of the capture/display panel has been redesigned
   to make the selection of these parameters easier. Using
   new pop-up menus and left-click selections the capture
   frame rate, data mode, display and phosphor modes can all
   now be adjusted more easily and intuitively than before.
   Note that the duration and sample rate cannot be adjusted
   as these depend on the timebase and timebase zoom setting
   used by the most recent data capture.
   
** 161 Logic traces displayed in colour
   
   The logic traces are now displayed in channel colours,
   just like the analog traces. At present the colours are
   preset but they will be user adjustable soon. Related
   changes including user defined labels and channel enables
   are also coming soon.
   
** 191 Improved wide-zoom logic displays
   
   When enhanced or wide band display modes are anabled and
   logic is displayed (in MIXED mode for example), shading
   is now used to show "uncertainty" when zoomed out wide.
   That is, when zoomed out, bursts of short logic states
   can become ambiguous so both "high" and "low" states with
   shading in between are now displayed to indicate this.
   
** 183 Improved MIXED mode analog display
   
   Previously when displaying analog data captured in mixed
   mode enhanced and wide band formats were unavailable. Now
   when zoomed out (and therefore sample rate decimation is
   possible) these display modes are available so the analog
   characteristics of the waveform can be more accurately
   shown (as they always have been in the ALT/CHOP modes).
   
** 203 Pop-Up menus added
   
   The DSO now uses Pop-Up menus on some controls allowing
   selection of various options and commands relating to the
   associated control. Pop-Up menus are activated by right-
   clicking controls that use them. At present analog input
   probe scaling and pre-scaling, capture data mode, display
   mode and phosphor mode, and capture frame rate controls
   all use pop-up menus to allow for the fast selection of a
   control value. In all these cases, left-clicking the same
   control chooses the "next" value in the sequence. As more
   controls are menu enabled in future, right clicking them
   will always activate the menu.
   
** 247 Raw data upload and display added
   
   Recent model BitScopes support faster USB which means raw
   capture data may be uploaded fast enough to be useful in
   situations where previously it was not (eg, live display
   update). While not necessary for waveform and spectrum
   display by the DSO itself raw data is needed if you plan
   to save it (to disk) for subsequent analysis using other
   numerical software. This change adds support for raw data
   upload. Be aware this can produce large capture frames
   (eg 1 MB/frame) depending on how you set it up, so if
   you're saving a lot of frames to disk you can chew
   through a lot of disk space in a short time.
   
   Note for Windows 98/ME users: when Raw Data is selected
   and the display is zoomed out the number of points to be
   displayed on-screen can be more than these versions of
   Windows can support (using the display drivers in DSO).
   As a consequence the waveform may "disappear" when "Raw
   Data" is selected. Choose one of the other data modes to
   see the data properly in this case.
   
** 223 Logic display wide-zoom no longer "vanishes"
   
   Previously when zoomed wide, a logic display could loose
   short logic events such as glitches or short transitions
   until the display was zoomed in again. The logic display
   algorithm has been modified to guarrantee that all edges
   are at least indicated as present regardless of the zoom.
   
** 225 Mute handling in delay timebase improved
   
   When the delayed timebase is enabled, the mute samples
   (those samples captured before the delay period that
   overlay the beginning of the samples that should start
   immediately after the delay period) are now correctly
   handled. This means that when the delay timebase is
   enabled both channels are now displayed from the first
   sample after the delay expires. Previously there was an
   unecessary 4uS "mute region" at the start of the trace.
   
** 246 Full buffer wide-zoom now supported
   
   It is now possible to zoom the timebase in MIXED capture
   mode as wide as the capture buffer in the BitScope allows
   meaning you can now see the entire buffer on-screen at
   once if required. Previously it was only possible to see
   only up to 30% to 50% (depending on the particular model)
   meaning you needed to scroll to see the rest. Note that
   unless you have a display with more than 64k pixels in
   the X-axis (no many do :-) you cannot actually see all
   the individual samples at once, but you can now see a
   filtered and decimated version of the entire capture.
   
** 236 Fast ALT mode dual-channel spectrum display fixed
   
   A floating point calculation error previously caused the
   DSO to abort with a SIGFPE (floating point exception) if
   both channels where enabled in ALT mode, the trigger was
   set to channel A or B (ie, not logic) and the timebase
   was set faster than 500 nS/Div. Now fixed.
   
** 239 AC/DC coupling tool tip fixed
   
   The AC/DC coupling button (appearing when BitScope DSO is
   connected to a BitScope model that supports it) had an
   incorrect "tool tip" appearing. Now fixed.
   
** 234 X-Y (Plot) X-Axis control fixed
   
   This control failed to work adjust the X-Axis offset
   correctly (ie, you could not center the X-Y plot to null
   out any offset appearing on the ChB input). Now fixed.
   
