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

1. Menu
See Menu in Common Interfaces.
1.1. View
- Data: opens/closes the Data view.
- Events: opens/closes the Events view.
- Logging: opens/closes Logging tool.
- Cursors: opens/closes the Cursors view.
2. Control

The control toolbar contains the following:
- Single: starts a single acquisition.
- Run/Stop button: starts repeated, continuous acquisition, or recording (see 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.
- Add Tab: Saves the currently shown acquisition data to a new tab. To close a tab, click the close button at the corner of the tab header. The name of the tab can be edited by double-clicking on the tab header.
- Mode: The following are acquisition modes:
- 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.
- Record: 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.
- Trigger: 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 instruments, or external trigger signals.
- Simple/Pulse/Protocol: selects between Simple, Pulse and Protocol triggering. See Trigger for more details.
- Inputs: selects the input signal groups available with Digital Discovery.
- Position: adjusts the horizontal trigger position.
- Base: adjusts the time base.
- Samples: adjusts the number of samples to acquire.
- Rate: adjusts the sample rate.
- Gear: opens a menu with the following options:
- Position as division: select the unit of the position parameter as division or seconds.
- Range Mode: selects the display mode for time base (per division, plus-minus, or full).
- 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.
2.1 Trigger
The simple triggers, like edge and level, can be configured in the Trigger column of the signal grid.
For protocol specific trigger options, see the protocols description.
The following triggers can be configured under the Pulse button option on the control toolbar:
- Glitch: shorter pulse of a signal than the specified time:

- Timeout: longer pulse of a signal than the specified time:

- Length: exact pulse length of a signal with the given hysteresis:

- Counter: trigger after the specified number of edges:

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, UART, CAN, I2S, and 1-Wire 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.
- Pin: 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.
- Reset/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 and Remove menus.

The waveform area is divided in the following sections: scroll, state, center, and bottom.

- Using the scroll bar, the time position can be adjusted. Holding the Ctrl key speeds up and the Shift key slows down the mouse wheel action. Clicking on the arrows changes the position by a base span and double-clicking sets the leftmost or rightmost position. Double-clicking on the scroll area resets the time to show the entire acquisition.
- In the state 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.
- The center area is used to display rows containing the graphical visualization of waveforms. The plot area context menu allows color adjustment, line width, specifying the protocol interpreter start position (useful for UART, CAN, or SPI without select signal), or reseting any start positions.
- On the bottom area, the major time grids are displayed. On center as well on the bottom area the time position can be adjusted by a horizontal left mouse button drag while the time base can be adjusted by a right mouse button drag. The mouse wheel zooms out or in on the cursor position. Holding the Ctrl key speeds up and the Shift key slows down the wheel action. Holding the Alt key swaps the adjustment of time position and base.
With higher row height for Bus or protocol, the analog representation of the values is drawn.

3.1. Quick Measure
See Quick Meausure in Common Interfaces.
The Quick Measure can be used in the following tree modes:
- Free: Allows measuring the distance between two mouse clicks, expressed in time and frequency. It also shows the number of rising and falling edges in this region for signals.
- Vertical: It is similar to Free mode but the cursor sticks to signal transitions.
- Pulse: 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 a 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. Protocols
The protocols property editor can be opened for the selected protocol 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.

The BUS trigger wizard lets you specify the value to trigger on.
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.

The SPI trigger wizard lets you specify the following options:
- Trigger: select between trigger on SPI Start, Stop, and a specific Value.
- Value: specify the value to trigger on.
4.4. I2C

For I2C or Two-wire Interface interpreter, the clock and data signals can be selected.

The I2C trigger wizard lets you specify the following options:
- Trigger: select between trigger on SPI Start, Stop, Any ACK/NACK, and specific Address, Read/Write, Acknowledgment, and Data options.
- Address/Data: specify the consecutive address and data values or select to ignore it.
- Read/Write: select between read, write, or ignore the operation type.
- Acknowledge: select between ACK, NAK, or ignore the acknowledgment.
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.
- Polarity: selects between standard and inverted signal polarity.
- Parity: selects between Odd, Even, Mark (High), and Space (Low) parity modes.
- Stop: specify the stop length in bits.
- Baud: selects between Manual, Auto Standard (..,4800,9600,..), and Auto Arbitrary rate.
- 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.

The UART trigger wizard lets you specify the following options:
- Trigger: select between trigger on Break, Idle, and a specific Value.
- Value: specify the value to trigger on.
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.

The CAN trigger wizard lets you specify the following options:
- Trigger: select between trigger on Error, Brake, and a specific Identifier.
- Extended: select between 11 and 29-bit identifier lengths.
- Identifier: specify the identifier to trigger on.
- Request: select between Data, Remote, or Ignore request types.
- Bytes: specify the data section byte length or ignore this field.
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.
- Sample: 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.

The I2S trigger wizard lets you specify the following options:
- Channel: select between Left and Right channel trigger.
- Value: specify the value to trigger on.
- Clocks: specify the number of clock cycles in a frame. This can be different from number of bits.
4.8. 1-Wire

The 1-Wire interpreter lets you select:
- Data: the data signal.
- Polarity: selects between low and high polarity signaling.

The 1-Wire trigger wizard lets you specify the following options:
- Trigger: select between trigger on Reset and a specific Value.
- Speed: select between standard and overdrive.
- Command: specify the command to trigger on.
- Family: specify the family field to trigger on.
4.9. Custom

The Custom interpreter allows defining the custom protocol interpreter. See Script in Common interfaces.
The interpreter is defined by a Decoder and a Value to text script.
The Decoder has the rgData as input, the array of acquisition samples, and outputs two arrays: 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 and 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 and the second shows the time stamp followed by the event for the selected channel.
The events can be filtered by containing, equal, starting with, ending with, or not 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 for more information.

6. Export
See Export in Common Interfaces.