== Data Analysis

Once you have acquired some measurement data, it's time to have a look and see what
insights you can gain from it. Usually, the first step is to look at the data as a
whole, achieved by clicking the _Zoom to Fit_ button:

image::pv_analysis.png[]

<1> Zoom-to-Fit button
<2> Zoom in/zoom out buttons
<3> Cursors
<4> Time scale (used to set up and show markers, see below)

If you have located an area of interest (maybe with the help of decoders, more about
that later), you can zoom in on it using the _zoom in_/_zoom out_ buttons, using the
scroll wheel of your mouse or the pinch/expand gestures on your touch panel.

[NOTE]
When a data capture is ongoing, the Zoom-to-Fit button stays active if you click it,
meaning that PulseView automatically fits all data to the views until either the
capture is finished or the Zoom-to-Fit button is clicked again.
If you want this feature but don't want to always have to click the button, you
can enable the "Always Zoom-to-Fit" option in the settings.

=== Cursors and Markers

Just looking at the signal data however is usually not sufficient. A lot of times,
you'll want to make sure that timings are honored and the bit times are like what
you'd expect. To do so, you'll want to use cursors and markers.

In the picture above, you can enable the cursor by clicking on the cursor button.
You can move both of its boundaries around by clicking on the blue flags in the
time scale area. The area between the two boundary lines shows the time distance,
its inverse (i.e. the frequency) and/or the number of samples encompassed. If there's
not enough space to see these, you can either zoom in until it shows, hover the mouse
cursor over the label in the middle or right-click on the label to  configure what
you want to see. You can also move both boundaries at the same time by dragging said
label.

image::pv_cursors_markers.png[]

<1> Cursors button, showing enabled state
<2> Cursor
<3> Marker

Markers are movable indicators that you can create wherever you like on the
time scale - just double-click on it and it'll create one for you where your
mouse cursor is at the time, or use the context menu when right-clicking on
the ruler or a signal trace.
You can click on its label and you'll have the option to change its name, or
drag it to reposition it.

When you have multiple markers, you can have PulseView show you the time difference
between the markers by hovering over one of them, like so:

image::pv_marker_deltas.png[]

This works on the cursor, too.

Speaking of which - if you want to place or move the cursor ranges quickly, you
can also press '1' and '2' on your keyboard to attach either side to your mouse
cursor. They will stay put when you either press Esc or click with the left
mouse button. This also works when the cursor isn't even showing, so using this
method allows you to place the cursor quickly without having to enable it first.

[NOTE]
For timing comparison purposes, you can also enable a vertical marker line that
follows your mouse cursor: _Settings_ -> _Views_ -> _Highlight mouse cursor_

[NOTE]
There is also a special kind of marker that appears for each time the data
acquisition device has triggered. It cannot be moved and appears as a vertical
dashed blue line.

=== Special-Purpose Decoders

There are some decoders available that analyze the data instead of decoding it.
You can make use of them to examine various properties of the signals that are
of interest to you.

Among them are:

* Counter - counts pulses and/or groups of pulses (i.e. words)
* Guess bitrate - guesses the bitrate when using a serial protocol
* Jitter - determines the jitter (variance) of a signal
* Timing - shows the time passing between the chosen signal edges

=== Other Features

==== Signal Label Area Resizing
Trace Views also allow you to maximize the viewing area by minimizing the area
occupied by the label area on the left. To do this, simply position the mouse
cursor at the right edge of the label area (or left edge of the viewing area).
Your mouse cursor will change shape and you now can drag the border.

This way, you can give signals long, expressive names without clogging up the
view area.

==== Multiple Views
You can create multiple views by clicking on the "New View" button on the very
left of the toolbar. These can be rearranged as you wish.

==== Session Saving/Restoring
When closing PulseView, it automatically saves the sessions you currently have
open, including the signal configuration and any protocol decoders you might
have added. The next time you start it again, it'll be restored to its
previous state.

This metadata is also saved with every .sr file you save so that the next time
you open the .sr file, your signal configurations, views and decoders are
restored. These metadata files have the ending .pvs (PulseView Setup) and can
be edited in any text editor if you wish to change something manually.

Additionally, you can save or load this metadata at any time using the
save/load buttons.
