Logic Analyzer
The Logic Analyzer allows acquisition and visualization of digital inputs.
It is possible to configure the information being visualized: to choose which signals to visualize, to group signals in buses, to configure protocol interpreters, and to visualize them in a specific order.

1. Menu
See Menu in Common Interfaces.
1.1. View
2. Control

The acquisition bar contains the following:
- Single: starts a single acquisition.
- Run/Stop button: starts repeated, continuous, or stream acquisition (see Run mode). While the acquisition is in progress, the Run button becomes the Stop button.
- Buffer: The performed acquisitions are stored in the PC buffer in time order. This makes it easy to review a series of repeated acquisitions. The new acquisitions are stored after the currently selected buffer position. If you change the position in the buffer and start a new acquisition, the positions after the selected one will be lost.
- Run: The options in Run mode select the action of the Run button and are the following:
- Repeated: the Run button starts repeated acquisitions.
- Scan Screen: scan acquisition where the sampled data is drawn from left to right. When the right corner is reached, the signal curve plot continues from the left.
- Scan Shift: similar to the screen mode, but when the signal plot reaches the right corner, the curve plot slides to the left.
- Stream: allows capturing a large number of samples at lower rates. In this mode, the samples are streamed trough the USB limiting the rate, depending on the system and other connected devices, at about 1M samples/sec. The scan modes (Screen and Shift) are available when the time-base is greater than a 1 second span, 100 ms/division.
- Mode: The three trigger modes are:
- Normal: the acquisition is triggered only on the specified condition.
- Auto: when the trigger condition does not appear in approximately two seconds, the acquisition is started automatically. In repeated acquisition mode, when the instrument switches to auto trigger, the next acquisitions are made without waiting again to time-out while a trigger event does not occur and the configuration is not changed. When a new trigger event occurs, or the configuration is changed, the current acquisition will be finished and the next one will wait for the trigger again. It is also the best mode to use if you are looking at many signals and do not want to bother setting the trigger each time.
- None: the acquisition is started without a trigger.
- Source: select trigger source between Analyzer trigger condition on pins, other device instrument or external trigger signals.
- Trigger: shows the trigger configuration.
- Position: adjusts the horizontal trigger position.
- Base: adjusts the time base.
- Gear: opens a menu with the following options:
- Position as division: selects the unit of the position parameter: division or seconds.
- Range Mode: selects the display mode for time base (per division, plus-minus or full).
- Rate: adjusts the sample rate.
- Samples: adjust the number of samples to acquire.
- Clock: selects between the internal or the external clock source for Logic Analyzer (available on Electronics Explorer).
- Noise: selects the option to acquire noise samples in half of the buffer.
- Buffers: adjusts the number of PC buffers.
- Update: this specifies the time period at which the application will check the oscilloscope device status and read the acquired data in repeated Run mode. Increase the time to reduce the update rate.
3. Signal Grid

The Signals Grid allows you to customize the display of the signals that you are interested in. See the operations found in the Lists section.
The grid menu contains the following options:
- Add: It is possible to add signals, define, and add a bus or interpreter.
One or more signals can be selected and added at a time.

The Bus, SPI, I2C, and UART menus open the corresponding property editor, and after configuring them, it will be added to the grid.
- Remove: It is possible to remove the selected items or the entire list.

- Edit: Under the Edit menu, the following operation can be performed:

- Property: Opens the properties editor for the currently selected item.
The grid columns are as follows:
- Height: the row height can be changed in the first column.
- Expand/Collapse: each bus and interpreter can be individually expanded or collapsed.
- Edit: clicking on the edit icon of a signal, bus, or interpreter row opens the editor.
- IO: Shows the device digital IO pin number. Multiple used signals are marked with star (ex: *3). The signals which are not defined are noted with ND.
- Trigger: allows you to configure the trigger condition for the Logic Analyzer pins. In this column, a left or right mouse-click opens a drop-down where the trigger condition can be selected. When multiple rows are selected, a right-click sets the trigger for all the selected pins.
The overall trigger condition is built by AND-ing all level conditions together with the result of OR between edge conditions of each pin. The following trigger conditions are possible for each pin:
Don't Care: not
used in trigger condition.
Low: low logic level.
High: high logic level.
Rising Edge: signal transition from low to high level.
Falling Edge: signal transition from high to low level.
Any Edge: any signal transition.
The grid context menu opens on mouse right-click. This contains similar buttons as the grid toolbar's Add, Remove, and Edit menus.

The waveform area is divided in three sections: top, bottom, and center.
On the bottom area, the time position can be adjusted by horizontal left mouse button drag and the time base by right mouse button drag.
- Top Area: On the top of the waveform area, the following information is shown: the state of the logic, and viewed acquisition information: number of samples, rate, and capture time. See Acquisition States for more information.
- Bottom Area: On the bottom section, the major time grids are displayed.
- Center Area: This area is used to display rows containing the graphical visualization of waveforms.
With higher row hight for Bus or interpreter the analog representation of the bus values is drawn.

3.1. HotTrack
See HotTrack in Common Interfaces.
When the mouse cursor position is in a signal row, it will place a vertical cursor along with two more horizontal ones towards the right, measuring the pulse-width and period. Otherwise, it will place s single vertical cursor showing the time position and the waveform's level at the intersections with the vertical cursor.

3.2. Cursors
The Cursors are available for main time view. See Cursors.
The Cursor's drop-down menu contains adjustment controls for the position, reference cursor, delta x value, and remove button.

4. Property Editor
The property editor can be opened for the selected signal, bus, or interpreter under the grid toolbar edit menu.
4.1. Signal

In the signal property editor, the name can be specified and the device pin changed.
4.2. Bus

In the bus property editor, the following can be configured:
- Name: edit the displayed name of the bus.
- Left list: shows the available signals.
- Right list: shows the selected bus signals. The signals can be added or removed with the left-right arrow buttons or mouse drag and drop.
- Enable: selects the optional enable pin and active polarity.
- Clock: selects the optional clock pin and sampling edge.
- Format: selects the values format of the bus.
- Binary values are displayed with “b” leading
character.
- Decimal
- Hexadecimal values are displayed with “h” leading
character.
- Vector values are displayed with “v” leading
character. Vector value is the raw binary value without index.
- Signed
- One's complement
- Two's complement
- Endianness: selects between little and big endian, least significant bit (LSB) first or most significant bit (MSB) first.
- LSB/MSB: selects the values for first and last indices, LSB, and MSB. The index values can be set so that the index remains within the -32 and +31 range.
4.3. SPI

SPI interpreter lets you define a synchronous serial data link with the following options:
- Select: optional slave or chip select signal with low or high active level.
- Clock: is the serial clock with data sampling on rising or falling edge.
- Data: is the serial data signal (MOSI or MISO) with least or most significant bit shifting first.
- Bits: the number of data bits in a transmission word.
- Format: allows selecting the display mode of the value in binary, decimal, or hexadecimal formats.
- Binary values are displayed with "b" leading
character.
- Decimal
- Hexadecimal values are displayed with "h" leading
character.
- Vector values are displayed with "v" leading
character. Vector value is the raw binary value without index.
- Sign and Magnitude
- Ones' complement
- Two's complement
- Leading: skips the given number of starting bits in value calculation.
- Ending: skips the given number of ending bits in value calculation.
- Start: the protocol interpreter with the given delay with respect to the first sample.
4.4. I2C

For I2C or Two Wire Interface interpreter, the clock and data signals can be selected.
4.5. UART

The UART interpreter for asynchronous serial protocols lets you select:
- Data: the data signal.
- Bits: the number of data bits in a transmission word.
- Parity: selects between Odd, Even, Mark (High), and Space (Low) parity modes.
- Stop: specify the stop length in bits.
- Baud rate: allows specifying the speed or bits per second of the line.
- Start: the protocol interpreter with the given delay with respect to the first sample.
4.6. CAN

The CAN bus (controller area network) interpreter lets you select:
- Data: the data signal.
- Polarity: selects between low and high polarity signaling
- Rate: allows specifying the speed or bits per second of the line.
- Start: the protocol interpreter with the given delay with respect to the first sample.
4.7. I2S

The I2S interpreter lets you define a synchronous serial data link with the following options:
- Select: word select signal.
- Low: low selects channel left or right.
- Clock: is the serial clock.
- Polarity: data sampling on rising or falling edge.
- Shift: data bits are shifted with respect to select signal.
- Data: is the serial data signal.
- First: select least or most significant bit shifting first.
- Align: data bits are right or left aligned with respect to frame edges.
- Bits: the number of data bits in a transmission word.
- Format: allows selecting the display mode of the value.
4.8. Custom

The Custom interpreter allows defining custom protocol interpreter. See Script in Common interfaces.
The interpreter is defined by a Decoder and a Value to text script.
The Decoder has as input the rgData, the array of acquisition samples, and outputs two array: rgValue to store the decoded 32 bit values and rgFlag to characterize each value, like a mask.
The Value to text script will be called when a value needs to be displayed, converting value and flag to text format.
5. Views
5.1. Data
The Data view displays the data samples.

The column header shows the sample index, the first column shows the time stamp, followed by the values of the added channel's components.
5.2. Events
The Events view displays the data changes and the time stamps for the selected channel.

The first column shows the event index, the second shows the time stamp followed by the event for the selected channel.
The events can be filtered containing (like: "*FF*"), staring with (like: "h00*"), ending with (like: "*WR") or equal (like: "ACK") the give text.
5.3. Logging
See Logging in Common Interfaces.
The script allows custom saving of data or processed information. The Locals are the instrument object called Logic. Index and Maximum are the values shown above the script.
// condition for saving, DIO0 to exist
if('DIO0' in Logic.Channels){
// instantiate file object for acquisition
var file = File("C:/temp/dio0_"+Index+".csv")
var data = Logic.Channels.DIO0.data
// write data to file
file.write(data)
// increment Index
Index++
}
5.4. Cursors
The X Cursors show cursor information in table view. See Cursors.

6. Export
See Export in Common Interfaces.