Overview

For use with: PAM, HD PPM and XLC devices

Main Screen

Combined with a PAM, HD PPM or XLC, Quarch Power Studio (QPS) allows you to capture highly accurate power measurements on a device under test.

You can capture power up traces, idle, sleep states and traffic/load scenarios. Data can be captured at high resolution and traces can be recorded from a few seconds up to several days.

PAM devices support multiple additional features, such as digital sideband monitoring and a larger number of analog channels.

What you can do with Quarch Power Studio

  • View live scope traces of voltage, current and power performance.

  • Record high resolution results over a few seconds or multiple days.

  • Scroll through multi-gigabyte data sets easily and zoom in to the smallest detail.

  • Examine minimum, maximum, mean and RMS values.

  • Define your own synthetic channels.

  • Accurately measure features on the trace.

  • Annotate data.

  • Export images and trace sections.

  • Import CSV files.

  • Perform fully automated capture from a python script.

Before you start

  1. QPS has a bundled version of Java 25 included in the distribution. It is no longer necessary to install a separate JRE on your computer.

  2. Make sure your Power Module is connected to USB or to the network.

    1. XLC, HD PPM and PAM modules are supported.

  3. Connect your device under test to the power module, using one of our simple fixture options.

    1. Browse the available fixtures HERE

  4. If you are streaming data for a long time or your averaging rate is very small, make sure you have enough disk space in your system. The data files can easily be over a gigabyte or even terabytes, during weekend long tests.

  5. Download the latest version of QPS from: https://quarch.com/products/quarch-power-studio

  6. If you want to automate data collection, download QuarchPy for Python from: https://quarch.com/products/quarchpy-python-package

    This will allow you to automate QPS and a range of examples can be found in our application notes: https://quarch.com/downloads?field_file_type_tid=111

1. Launching QPS

  • For an installed version of QPS you can run from the desktop icon or Start menu.

  • From the directory you have QPS saved in, run the executable file e.g. Quarch Power Studio.exe.

  • If you have QuarchPy installed, you can run QPS with the command:

    python -m quarchpy.run qps

The connection screen opens first and lists the serial number, connection type and name of the devices connected to your system.

Connection Screen

The initial connection screen shows the devices available. If you have a device on another subnet, you can enter it manually through the IP scan button.

If a software update for QPS is available, there will be an update icon on the menu bar.

1.1. Launching QPS for live data

The QPS Streaming Mode allows you to view live data from your XLC, PPM or PAM modules.

  • On the connection screen, double-click on the module you want to connect or click the Connect button.

  • Wait for the live screen to load, this can take a few seconds.

The Tools > Advanced View menu provides an expanded view that tabulates additional device information such as the fireware and FPGA version numbers. The same information can be displayed by right-clicking on a device and selecting the Properties menu item.

Connection Screen - Advanced View

1.2. Launching QPS to view previous recordings

The QPS Viewing Mode allows you to display saved data from previous streaming sessions.

  • In the connection screen top menu, click File > Open Recording…​

  • Select your previously created .qps file.

The File > Recent Recordings menu gives quick access to the most recently saved or opened recordings.

2. Screen Layout

The screen is broken down into a few main sections:

  • The main part of the window shows a chart for a selected time period in your trace data.

  • The lower part of the window is the timeline. This shows a chart of the entire trace to give you an overview where you can select the region to be shown in the main chart.

  • The tab controls on the left hand side relate to the setup for recording a trace, including the channels to be recorded, triggers, and device configuration.

  • The tab controls on the right hand side relate to viewing. Here you can control the visibility of channels, view statistics for the main chart, values at cursors on the main chart, view and edit annotations, and more.

  • On the top and bottom toolbars are commonly used controls such as starting/stopping recording. More advanced controls are available in the menus and tabs.

Main screen layout

3. Recording

After connecting to a device, you can begin a recording based on the current device configuration using the record button in the top toolbar.

  • Click the Record button to begin collecting data.

    Record control stopped
  • When you are finished collecting data, click the stop button.

    Record control recording

By default, data will be deleted when you close the application or make another recording. Save the recording if you want to keep it. You can change this default behavior in the preferences window.

You can change device configuration and recording settings using the other controls in the main toolbar, and the tabs on the left side of the main chart. Some controls are only available when a recording is not in progress and need to be set before starting.

3.1. Toolbar

The toolbar contains commonly used controls for recording, including the record button, and the power on/off button. The toolbar also contains a sample time control, which allows you to set the sample time for the recording.

3.1.1. Power on

For devices that allow power on/off control, this button toggles the power state.

Power button off
Power modules have variable outputs. You MUST ensure the correct voltage is selected BEFORE you turn the power on. HD modules will automatically select the correct voltage range based on the fixture, but XLC modules must be set manually.

3.1.2. Sampling time

Quarch power modules internally sample at various rates. Commonly this is 250k samples/second (4uS resolution), and this generates a lot of data.

Multiple samples can be averaged together to produce a single measurement. This allows perfect average power measurement, while reducing the data rate.

In QPS, the underlying complexity of hardware and software sample averaging is simplified down to a single control where you can enter your desired sample rate.

In the example below, one sample will be recorded every 1mS (which will be made up of 250 raw 4uS samples, averaged together).

Sample time control

Fast sampling rates produce a LOT of data. XLC modules can stream constantly at 64uS sampling on a fast PC. HD modules can normally stream constantly at 4uS sampling, depending on the PC and connection type.

If your PC cannot pull data off the module fast enough, the internal memory will eventually fill up and the stream will terminate. If this happens, simply choose a larger sampling rate. You must select the sampling rate BEFORE you start streaming.

Streaming will also stop automatically if disk space is getting low.

The sampling time controls vary depending on the type of sampling the connected device supports. There are three key versions.

Multi-rate sample time control

For a single-rate device, a single combo-box is presented that allows a time to be selected from the listed stock values, or additional non-stock times entered.

For a multi-rate-capable device that is currently configured with only a single rate group, the same sampling time combo-box is provided but a settings button is also provided, which on clicking loads the Multi Rate Sampling Settings pop-over. This pop-over also allows the sampling time to be set, as well as showing additional information relating to the different device groups.

For a full multi-rate device with multiple sampling time groups, the addition of a “Multi-Rate” option is shown in the combo-box when multiple rates are selected, as well as a label clearly showing what these rates are without the need to load the pop-over.

3.2. Tabs

More detailed controls are found in the tabs on the left side of the main chart. Note that the available tabs and controls will vary depending on the connected device. For example, the Breaker tab is only displayed for devices that have support for breaker functionality.

3.2.1. Output Tab

The Output controls consist of the Master Power Control and the Voltage Channel Controls (only for PPM devices).

Master Power Control

The Output Mode combo box specifies which output mode is required for PPM devices, such as 3V3 or 5V.

The Output Control group consists of the two buttons Nominal Outputs and Zero Outputs, which respectively set the output voltages to their nominal and zero values.

Voltage Channel Controls

For PPM devices, the Channel Control displays the supported output voltages, each in their own group.

In each control you can set the current output voltage via the Output Voltage (mV) editable spinner.

The Output Pulldown option allows you to enable or disable current sinking. When enabled, the PPM can pull current out of the attached device if the requested voltage is lower than the measured value. This happens in the case of patterns, where (for example) a square wave can be requested. With Output Pulldown turned off, the voltage will be driven high and only float low. With the setting enabled the voltage will be actively pulled down as well, producing a cleaner voltage waveform and making a more aggressive test for the drive.

The Output Limit (mV) control allows a persistent value to be set for the maximum voltage on the rail. This does not reset on power cycle, so you can use it to protect devices by ensuring the user cannot accidentally request a higher voltage.

You can perform voltage margining tests by changing these Output Voltage values at any time, even while data is being recorded. (PPM devices only)

3.2.2. Recording Tab

The Recording controls consist of the groups relating to the recording of data. This includes how long to record for and additional options for record triggering and channel selection.

Recording Duration

The Recording Duration group allows you to set a maximum duration for the recording, counting from when the record button is pressed or from when the record trigger is activated. Enable this control using the checkbox, then set the duration and unit before starting the recording. The recording will stop automatically when the duration is reached.

Memory

The Memory collapsible pane consists of the single control Pre-Trigger %. This sets the percentage of memory to be used to capture data before a record trigger event occurs.

Record Trigger

Record Trigger chooses what will begin a recording.

MANUAL

Started by manual click of the record button.

EXTERNAL

Started by an external trigger input (EDGE trigger begins on a rising edge. LEVEL trigger records for the time the trigger is high).

THRESHOLD

Started on the measured value exceeding a set threshold. This option ALSO requires one or more threshold triggers to be set.

The Record Trigger State checkbox enables/disables the stream mode trigger state.

Channel Enable

The Channel Enable control contains the grouped set of channels that the device provides, with checkboxes to control whether each channel will be recorded. Note that this stops data from being recorded for the disabled channels - if you want to record the data but hide it in the main chart, use the Channels tab on the right hand side of the screen to control visibility.

Turning off channels will reduce the size of the analysis files.

If the device provides a large number of channels, you can use the search function to find and toggle recording for the channels that match or don’t match the search term.

Synthetic Channels

Here you can add additional synthetic function channels to the predefined channels.

These are new channels which are created from one or more other channels (for example combining current and voltage, to get power).

Synthetic channels are currently mainly used for our AC devices, where RMS, phase and frequency need to be calculated.

The table is accompanied by Save Functions and Load Functions buttons for saving to file and loading from file previously generated function channels.

The table also comes with Add, Edit, Delete and Clear buttons for adding and editing a table entry, deleting a specific table row and clearing the entire table.

The Add and Edit buttons bring up the Synthetic Channels Editor dialog, which allows the defining of a synthetic channel.

Channels can be Enabled/Disabled without deleting them by ticking/unticking the box in the Enable column.

If there are a large number of synthetic channels, you can use the search function to find and toggle recording, edit, or delete for the channels that match or don’t match the search term.

Synthetic Channels Editor dialog
Shunt Resistance

The Shunt Resistance group lets you tell QPS the resistance of the external shunt(s) wired to the device, so that the correct value can be used when calculating the associated Current channels. This group only appears for PAM devices whose connected fixture supports external shunt configuration, and is not shown when working with an archived recording or a fixture that does not support the feature.

Each row lists a channel that has an external shunt, with a value control and a unit drop-down. The allowed range for the value depends on what the connected fixture supports, and is shown next to the controls if an out of range or non-numeric value is entered.

Shunt Resistance

Click Apply to send the values shown for all channels to the device; the controls are disabled while this is in progress and an Applying…​ status is shown, changing to Applied once complete. Applying new values here overwrites any manual customization previously made to the corresponding synthetic Current channels, and the values are persisted on the fixture itself rather than in the QPS recording profile.

If a channel does not yet have a shunt resistance configured on the device, you will be prompted to set one before streaming.

Channel Profiles

The Channel Profiles group allows you to save and load recording profiles, allowing you to restore synthetic channel configurations that you have previously saved.

Expression Synthetic Channel

For synthetic channels that are defined by way of an expression the Edit button displays the Expression Editor dialog. It is not necessary to use this dialog but it provides an expanded area for editing expressions as well as an expression validator.

The Info Help circles at the bottom-right corner provide detailed information relating to the expression editor dialog and generating your expression.

Expression Editor dialog

3.2.3. Patterns Tab

The Patterns tab allows you to run a power pattern on a device (PPM devices only). The pattern itself is edited in the Edit Patterns window, opened with the Edit Patterns…​ button at the top of the tab. Patterns allow you to create complex ramps, glitches, brownout and oscilating voltage scenarios. Each voltage rail can be seperately controlled.

A pattern is made up of up to 1024 points at 1uS resolution, each of which specifies a voltage level to change by (relative to the voltage at the start of the pattern), a time to change at, and the "interpolate" option.

Interpolation causes the unit to move the voltage between two time points in a linear way (instead of jumping directly to the requested voltage).

Edit Patterns Window

The Edit Patterns…​ button opens a separate window that can be left open alongside the chart, so the pattern display can be seen along with the live trace. The window shows the pattern display above one table for each voltage rail.

Patterns run relative to the rail voltage when the pattern begins. For example, to create a ramp up, set the rail voltage to zero in the Output tab first. To end at the same voltage you started at, the last pattern point must be a zero. If the last point in a pattern is (for example) as positive, then each time you run the pattern, the end voltage will be higher so repeating patterns will increse the rail each time. Negative voltage values will reduce the voltage, for example -250 on a rail that starts at 5v will reduce the output voltage to 4750mV

The Save Pattern and Load Pattern buttons allow you to save an entered pattern and load a previously saved pattern. They are disabled while streaming.

Show Repeats allows repeating patterns to be either shown or not shown on the display, following the Repeat Mode and Repeat Count set on the Patterns tab.

Pattern Actions

Run Pattern

Runs the current pattern points

Stopped / Running

Shows whether a pattern is running (green) or stopped (red). It is an indicator only and cannot be clicked

Stop At End

Stops running when the current pattern cycle is complete

Stop Now

Stops the running pattern immediately

The stop buttons are always available, so a running pattern can be stopped at any time. While a pattern is running the pattern tables and the Save Pattern and Load Pattern buttons in the Edit Patterns window are disabled.

Repeat Mode and Repeat Count control how a pattern is repeated and can be ONCE (run just the once), COUNT (repeated a specified number of times) and CYCLE (run repeatedly). Repeated patterns will draw for a limited number of times to simplify the display.

Here is the Patterns tab, for controlling the pattern actions:

Patterns controls

The pattern editor window is for creating and managing your voltage pattern. The key below the chart shows the line colour of each rail, which matches the colour block beside each table title:

Edit Patterns window

3.2.4. Triggering Tab

The Triggering tab contains options for advanced threshold and external triggers. The controls here will depend on the module you are using.

Trigger Out

Trigger Out consists of the single control of Trigger Action which allows you to select what action will cause an external trigger to be generated.

PATTERN

Running a PPM voltage pattern will assert the external trigger.

RECORD

Starting a recording will assert the external trigger.

THRESHOLD

Exceeding a set threshold will assert the external trigger.

Threshold Trigger

Threshold triggers allow a trigger to be generated when a measured channel passes a set threshold.

PPM Devices

Triggers can be set on current or power channels and the trigger is asserted when the measured value exceeds the trigger.

PAM Devices

Triggers can be set on any hardware measured channel (voltage, current and digitals). The threshold can be set to trigger on either rising or falling through the set trigger level.

Digitals do not have a set level and are set to assert on either a rising or falling edge.

Thresholds are a simple tool for capturing an event. They are not designed for highly accurate measurements as the threshold value is of limited resolution (there are 127 steps for specifying a threshold over the range of each channel on a PAM).

Here we have created two threshold triggers: 300mA on 5v current and 500mA on 12v current. If either of these values are exceeded, the trigger will occur.

Threshold triggers

Note that PAM devices also have a polarity value so you can specify if the trigger should occur on rising or falling transition.

Threshold triggers with polarity

PAM devices also allow threshold trigger on digital change.

Threshold triggers with digital

In addition to setting the thresholds, you also must choose the use of the trigger. This can either generate a trigger out, using the THRESHOLD option above, or be used to begin a recording, as described below.

Trigger out

You can also use the threshold to begin a recording, by setting the record trigger mode on the Recording tab.

Record trigger

With this setting in place you now click Record to begin the stream. The stream mode will change to Running but no data will be captured until the threshold is passed, then the data will begin to record.

Main screen waiting for threshold

If you want to also capture what happened prior to the trigger event, you can allocate a percentage of the onboard RAM to capture power prior to the threshold. Here we will capture 20% of RAM (about half a second at 4uS sampling).

Pre-trigger
Auto-Annotation

Auto-annotations allow the setting of conditions which should cause an annotation to automatically be added to the trace. The keywords {COUNTER} and {VALUE} included in the annotation name will be substituted with a counter of the number of times the annotation has been triggered and the value of the channel at that instant.

See Annotations for a description of annotations.

Auto-annotation
By Channel Value

Auto-annotations can be set to trigger when the value of a channel meets a condition:

  • Analog channels can be set to trigger when the value goes above or below a set threshold.

  • Digital channels can be set to trigger on a transition. You can choose to trigger on a rising or falling edge.

By Event

Some devices can also trigger an auto-annotation on a specific event, such as a glitch being triggered on a device that supports breaker functionality. This panel will only show if the device supports event triggering for annotations.

3.2.5. Breaker Tab

The Breaker tab is only shown for devices that support breaker functionality alongside streaming. This lets you simulate unplugging and replugging a device, inject short signal glitches, and control how signals are wired up and driven, all without touching the hardware.

The controls shown depend on what the connected device supports. Signals and Sources and Hot-Swap are always present; Signal Glitching, Triggering, Power Injection Sync and Lane Width are only shown if the device reports support for that capability.

Breaker tab
Signals and Sources

The Signal Summary indicator shows the combined state of all signals: Connected, Disconnected, or Partial (not all signals share the same connection state).

Click Manage to assign signals to sources and set glitch and drive behavior per signal - this opens the Breaker Controls window on its Signal Assignment tab.

Signals and Sources panel
Hot-Swap

The Hot-Swap panel simulates unplugging and replugging the device, either as a single manual event or a repeating automatic cycle.

The Power Button in the main toolbar is used to trigger a single hot-swap event, which will toggle the device between plugged and pulled states.

Click Manage to set up hot-swap patterns - this opens the Breaker Controls window on its Hot-Swap Patterns tab.

The Auto Cycle group repeatedly toggles the module between plugged and pulled, using the current hot-swap pattern setup:

On Time

The length of time per cycle that the module should spend in the plugged state.

Off Time

The length of time per cycle that the module should spend in the pulled state.

Cycles to Run

The number of cycles to run before stopping (1-999).

Toggling Cycling between STOPPED and CYCLING starts or stops the automatic cycle; the On Time, Off Time and Cycles to Run controls are disabled while cycling is running. The Completed label shows a running count of the cycles finished since cycling was last started.

Hot-Swap panel
Signal Glitching

Shown only if the device supports glitching. This panel injects a very short interruption ("glitch") into the signal path, either as a single one-off event or as a repeating sequence, for fault injection testing.

Glitch Length

The length of each glitch.

Cycle Length

The period between glitches when cycling in Fixed Period mode.

PRBS Ratio

The ratio to use when cycling in PRBS mode. The available ratios depend on the connected device.

Cycle Mode

Whether a repeating sequence of glitches uses a fixed period between glitches, or a PRBS (Pseudo-Random Binary Sequence) delay for less predictable, more realistic fault injection.

Click Glitch to run a single glitch immediately, or toggle Cycling to start or stop a repeating sequence. The configuration controls and the Glitch button are disabled while a cycle is running.

Signal Glitching panel
Triggering

Shown only if the device supports triggering. This panel configures how the device reacts to an external trigger and what causes it to emit its own trigger signal, so that fault injection or hot-swap events can be synchronized with other test equipment.

Trigger In Action

The action that occurs when a trigger in condition is detected: POWER (run a hot-swap event), GLITCH, or OFF.

Trigger In Type

The signal type used for trigger in: EDGE or LEVEL.

Trigger In Source

The signal source used for trigger in: EXTERNAL, or a named triggering channel reported by the device.

Glitch Mode

The type of glitch to run on trigger in: ONCE, CYCLE, or PRBS.

Trigger Out

The action that will cause a trigger out to be asserted: OFF, GLITCH, POWER, or a named device-specific triggering channel.

Trigger In Type and Glitch Mode only apply once Trigger In Action is set to something other than OFF.

The State indicator shows whether trigger in has occurred: TRIGGERED or NOT TRIGGERED.

Triggering panel
Power Injection Sync

Shown only if the device supports power injection sync. This is used when injecting supplementary power into the device under test while breaking or hot-swapping the main supply, so that injection timing can be synchronized with the breaker’s own events.

The Enable Sync checkbox turns power injection sync mode on or off. The Jumper indicator is a read-only display of the physical power injection sync jumper on the device: ON, OFF, or N/A if not applicable.

Power Injection Sync panel
Lane Width

Shown only for breaker devices with multiple parallel signal lanes. The Lane Width drop-down sets how many lanes are active, with options given as powers of two up to the maximum the device supports (e.g. 1, 2, 4, 8, 16).

Lane Width panel
Breaker Controls Window

The Manage buttons on the Signals and Sources and Hot-Swap panels open a separate Breaker Controls window, containing three tabs for more detailed configuration: Signal Assignment, Hot-Swap Patterns and Pattern Editor. This window can be left open alongside the main QPS window while you continue to work.

Signal Assignment

The Filter By controls narrow down the signal table by Name, Group, Source, Glitch state, and Drive state. A match count is shown, along with buttons to refresh the results or clear the filter.

The signal table lists, for each signal: its name, connection state, group memberships, the source it is assigned to, whether it will glitch, and what it should drive to when open and when closed. Each of these can be changed per-signal directly in the table.

The Set all matched to row lets you apply a Source, Glitch, Drive Open or Drive Closed change to every signal currently matched by the filter in one go - click Apply to push the change. Only fields you have changed away from "No Change" are applied, and glitch/drive changes are only applied where that signal supports them.

A read-only table at the bottom lists every source with its connection state and type.

Signal Assignment tab
Hot-Swap Patterns

A chart shows the hot-swap pattern for every timed source as a colored line, for Power Up, Power Down, or both - choose which with the Show drop-down. Sources that are always on, always off, or change immediately are shown but cannot be dragged.

  • Zoom in / Zoom out and Fit to Data control the chart view.

  • Use Show between with two time fields to jump to a specific time window.

  • Double-click a source’s line to set its delay to a specific value; drag the body of a line to change its delay, or drag its outer edge to change its length (Simple or User bounce modes only).

  • Click a source’s line to select its editor tab below the chart.

Hot-Swap Patterns chart

Below the chart, each timed source has its own editor tab:

Enabled

Turns this source’s bounce pattern on or off.

Power Up Delay

The time after the start of a power up that this source should wait before changing.

Power Down Delay

A read-only calculated time after the start of a power down before this source starts changing.

Pin Bounce Mode

The type of pattern applied to this source: None, Simple (a period/duty-cycle square wave), or User (a custom pattern from the Pattern Editor).

Length

How long the bounce pattern runs for.

Period

The length of one cycle of the pattern.

Duty Cycle

The percentage of each cycle the source should be high for (Simple mode).

User Pattern

The custom pattern from the Pattern Editor to use for this source (User mode).

Pattern Length

The number of points from the pattern to use - an even number between 2 and 112.

Repeat

Whether to repeat the pattern if it completes before the set Length has elapsed.

Guidance messages are shown if the Length, Period and Pattern Length settings do not fit together cleanly, for example if the pattern would not repeat a whole number of times.

Pattern Editor

The Pattern Editor creates and manages the reusable, named 112-bit patterns that can be selected as a source’s User Pattern in the Hot-Swap Patterns tab. Patterns are shared across the whole window, so a change made here is immediately available everywhere the pattern can be selected.

The pattern list on the left has buttons to Add, Clone or Delete a pattern, and to Import or Export a pattern as a .bounce file.

On the right, give the selected pattern a unique Name, then click the individual segment buttons to toggle each of its 112 bits high or low. To change a range of bits at once, set Start Range and End Range and click High or Low. A summary strip shows the whole pattern’s waveform at a glance. Changes are applied immediately.

Pattern Editor tab

4. Navigation and Zooming

4.1. Zoom Box

You can draw a box around an area of interest to zoom in to it.

  • Click the left mouse button on either the data or timeline areas and drag the mouse creating a rectangle region. Release to confirm the selection.

  • Holding the Control key while the left mouse button is depressed changes the color of the start / end square handles from white to red. You can release the mouse button while still holding the control key and then either click and drag a new selection, or click and drag the handles to adjust the origin point of your selection. This allows you to adjust your selection if you started it at the wrong point or made a mistake.

Fine-tune your selection with keys:

  • Using the + or – keys you can zoom the chart horizontally.

  • Shift and + or Shift and – will zoom the chart vertically.

  • Arrow or WASD keys will pan the chart.

Or with mouse scroll:

  • Position the mouse over the data view.

  • Move the scroll wheel to pan the chart horizontally.

  • Alt and scroll wheel will pan the chart vertically (if possible).

  • Control and scroll wheel will zoom the chart horizontally.

  • Shift and scroll wheel will zoom the chart vertically.

Or you can set the length of time shown on the screen by using the Chart Width control on the toolbar. QPS will try to maintain the same center point of the chart when changing the time width.

You can also right-click anywhere in the main chart or use the main menu Display > Main chart to access controls to:

  • The zoom submenu allows you to zoom in and out of the chart horizontally.

  • The Y-Scale submenu provides options to:

    • Zoom to local Y range will zoom the chart vertically to best fit the signal values currently visible in the main chart, without changing the axis scaling.

    • Zoom to full Y range will zoom the chart vertically to best fit the signal values across the entire duration of the trace.

    • Auto-fit to all time will cause the axes to be scaled such that while zoomed out to 100% the axes will show the full range according to the maxima and minima of signals across the entire duration of the trace.

    • Auto-fit to selection will cause the y-axes to automatically rescale as you move horizontally through the trace to best fit the maxima and minima of the signal values within the currently visible main chart. While in this mode vertical zoom is disabled.

  • The Axes submenu allows you to toggle the visibility of the axes on the left and right of the chart. This is useful if you want to see more of the chart without the axes taking up space.

These controls affect the main chart only. The timeline chart is always scaled to show the full range of the trace and cannot be zoomed vertically or horizontally.

Shown below is a highlighted region in the chart window and shows the start and end times of the selected region along the lower time rail; the time units are the same as those specified in the Preferences dialog.

Highlighted region showing the moveable start / end points

4.2. Timeline Highlight Region

The timeline shows the area corresponding to the main chart as a grey rectangle. There are several ways to manipulate the selected area:

  • Double-click anywhere on the timeline to center the main chart on the same time point as the mouse pointer. The main chart will remain at the same zoom level.

  • Scroll the mouse wheel.

  • Click the central area of the highlight region to change the mouse pointer to a cross and then drag either left or right horizontally.

  • Click the highlighted region’s four corner handles and drag them to the desired location.

  • Click Full on the bottom toolbar to reset the data view to a default zoom level.

  • While viewing live data, toggle the Auto Scroll button on to lock the main chart and timeline highlight to showing the latest data as it is ingested. Toggle off to allow free movement and hold the main chart on a specific location. This control only appears while viewing live data.

  • Right-click the mouse button when the mouse pointer is hovering inside the timeline region to bring up the timeline context menu, then select the option Between Times…​ to show the Time Range Selection dialog.

Timeline context menu
Time Range Selection dialog

Select a time format and a start and end time between the shown minimum and maximum values and click OK.

5. Summary Tab

The Summary tab presents a grid of live values while recording. The level of precision and refresh rate can both be set via the Preferences dialog.

This is useful to see immediately what the device under test is doing.

In Viewing Mode or after the recording has stopped, this shows the values under the mouse pointer while it is over the main chart.

Hovering the mouse over a channel in the summary tab will highlight the corresponding channel in the chart.

Summary tab

6. Channels Tab

The Channels tab lists all available channels, allowing you to show or hide certain channels so as to help minimize visual clutter in the Data View window.

Channels tab

You can change the color of the channels here by clicking on the colored square. You can reset all colors to the default values by choosing the reset option from the menu at the top right of the tab.

Hovering over the channel text will highlight it in the chart view.

You can reorder the channels and groups by dragging on the icon on the right of the channel or group name. This changes the display order for channels in the other right hand tabs and also the draw order of the channels in the main chart. The channels are drawn in the order they are listed, with the top channel being drawn first and the bottom channel being drawn last. This means that if two channels overlap, the one lower in the list will be drawn on top of the one higher in the list. You can lock the order of channels and groups by clicking on the Lock button at the top of the tab, or use the Reset button to revert to the order that the device uses.

The toolbar at the top of the tab also has buttons to show or hide all channels, and to expand or collapse all groups. You can also use the search function to find a channel or group by name.

If your trace has a large number of channels, you can use the search function to show or hide channels that match or don’t match the search term. In the example shown here, searching for 12V shows a result containing the 12V channels from the Voltage, Current and Power groups. By clicking the show button for matched and the hide button for other, only the 12V channels are shown in the chart. You can also click the checkbox within the search results to show or hide individual channels.

Channels tab with search function

7. Annotations

You can add annotations and comments to a trace, which serves as an excellent way of making notes and highlighting important areas for another engineer to view later.

  • Annotations are used in the Statistics Grid to calculate statistics between each pair of annotations.

  • Comments are used to add notes to a trace, but do not affect the statistics calculations.

You can also apply a marker to an annotation or comment to give it a custom color and to allow them to be filtered in the Annotations tab on the right hand side of the screen.

Annotation on chart
  • Add an annotation in the data view using the right-click context menu, or in the Annotations tab on the right hand side of the screen.

  • Annotations can be added via a Python script for powerful automated testing.

  • Annotations can be added using the auto-annotation controls in the Triggering tab.

7.1. Adding and Editing annotations on the chart

Right-click anywhere on the chart to bring up the context menu, and choose one of the options to add an annotation or comment.

Add annotation context menu

Add Annotation

Add an annotation at the current time.

Add Comment

Add a comment at the current time.

Add Detailed…​

Open a dialog to add an annotation or comment with optional custom title, description and marker

Add annotation dialog

On the annotation dialog you can set a title, description and marker color for the annotation. You can also finely adjust the time of the annotations and set it to display at a different y position on the chart (defaulting to 100% as the top of the chart).

Right-clicking on an existing annotation on the chart brings up a context menu with options to edit, delete, or change the type of the annotation.

Edit Annotation context menu

Edit Annotation…​

Open the annotation dialog to change the settings of the annotation.

Change to Comment / Annotation

Toggles the type between annotation and comment.

Delete

Removes the annotation.

Undo drag

Undoes the last move. This is only available when dragging has been unlocked using the Time Locked option in the menu.

Show in Tab

Shows the annotation in the Annotations tab on the right hand side of the screen.

Place Cursor A/B here

Position Cursor A or B at the time of the annotation. The Cursors tab will show the values of each channel at the time of the annotation.

Show Text

Toggles display of annotation text.

Time Locked

Unlocking allows you to left click and drag the annotation along the x axis (time).

7.2. Annotations Tab

The Annotations tab on the right hand side of the screen allows you to view the annotations and comments in a list view.

Clicking on an annotation in the list will expand it to show the description (if set) and Edit and Delete buttons, and will also move the time position of the main chart so that the annotation is on the left of the screen. The checkbox will toggle the visibility of the annotation on the chart.

You can also right-click on an annotation in the list to bring up a context menu with options to edit, delete, or move the chart to show the annotation.

Hovering over an annotation in the menu will highlight it on the chart by showing the drop line thicker than other annotations currently on screen.

Annotations highlight

At the bottom of the list are controls to toggle the display of list items by type (annotation or comment) and by marker. You can add a new marker by clicking the + button - this is also available from a button in the add/edit annotation dialog. Hovering over a marker in the tab will show Edit and Delete buttons, allowing you to change the color and name of markers.

At the top right of the annotations tab is a menu for bulk changes to the annotations and comments.

Annotations tab menu

Add…​

Opens a dialog to add an annotation or comment with optional custom title, description and marker.

Delete All

Deletes all annotations and comments.

Time Lock/Unlock All

Locks or unlocks all annotations and comments on the chart allowing them to be dragged along the x axis (time).

Display Show/Hide All

Toggles the display of all annotations and comments on the chart.

Text Show/Hide All

Toggles the display of all annotation and comment text on the chart.

List Expand/Collapse All

Expands or collapses all annotations and comments in the list view.

You can search the list of annotations and comments using the search button.

Annotations search
  • Use the checkbox on a search result to toggle the visibility of the annotation in the chart.

  • Click on the title of the annotation to expand it in the main list, move the chart to show the annotation, and hide the search results.

  • Hover over a search result to show edit and delete buttons.

You can also apply bulk changes to search results (Matched) or to all those not in the search results (Other) using the buttons at the bottom of the search panel. You can show/hide, expand/collapse, delete, and set type or marker.

8. Statistics

There are two Statistics views available in Quarch Power Studio.

  • The Statistics Grid window shows more detailed statistics for the entire trace.

  • The Statistics tab on the right hand side of the screen shows basic statistics for the time period currently visible in the main chart.

8.1. Statistics Grid

The Statistics Grid shows statistics for the periods between each pair of annotations. If there are no annotations, then statistics are calculated for the entire trace.

Use the menu option Windows > Statistics Grid or the grid button in the main toolbar to open the view.

  • Use the Change Columns button or menu option to select which statistics are to be calculated, and for which channels.

  • You can reorder the columns by dragging the column headers to a new position.

  • Use the Export to CSV button or menu option to export the statistics to a CSV file for further analysis.

  • Use the Chart Stats button to plot selected stats on a separate chart, which can be exported as an image.

  • Use the Save as Default View button to save the current configuration of the statistics grid for future use.

  • Use the Refresh button to recalculate the statistics if the trace has changed since the last calculation.

Statistics grid

Right-clicking in the Statistics Grid window brings up the Between Times…​ context menu item, which displays the Statistics Range Selection dialog.

Statistics Range Selection context menu

The Statistics Range Selection dialog allows additional rows to be added to the Statistics Grid that compute statistics between start and end times.

8.2. Statistics Tab

The Statistics tab provides basic real time statistics of the data currently in the main chart.

Statistics tab

The set of channels visible in this tab is set from the Channels tab on the right hand side of the screen. Only channels that are visible in the main chart will be shown in the statistics tab.

You can control which statistics are shown from the menu button at the top of the tab. This menu also contains the Auto Range option, which will automatically adjust the displayed unit to better fit the value e.g. changing uA to mA if the value is sufficiently large.

Hovering over a channel in the statistics tab will highlight the corresponding channel in the chart.

9. Cursors

The main chart has four cursors that can be used to measure values on the chart. These are shown as lines with a small triangle at the top or left of the line.

  • The A and B cursors are vertical lines that can be used to measure values at a specific time. The time of the cursor and the delta between the two cursors are shown in the gutter at the bottom of the chart. The values of each channel at the cursor positions are shown in the Cursors tab on the right hand side of the screen.

  • The C and D cursors are horizontal lines that can be used to measure values at a specific value on the y axis. The values at each cursor and the delta between the two cursors are shown in the axes at the left of the chart. The values for all visible axes at the cursor positions are shown in the Cursors tab on the right hand side of the screen.

You can place the cursors by clicking and dragging the triangle at the end of the line. You can also place cursors by right-clicking on the chart and selecting one of the options from the Annotations sub-menu.

  • Place Cursor A/B/C/D here will place one cursor at the time or value at the position where the mouse was clicked.

  • Intersect A and C here and Intersect B and D here will place a vertical and horizontal cursor so that they intersect at the position the mouse was clicked.

Cursors on chart

9.1. Cursors Tab

The Cursors tab on the right hand side of the screen shows the values of each channel for A and B or axis values for C and D at the cursor positions. The set of channels shown in the tab is controlled by the Channels tab.

The mouse hovers for this tab are:

  • Hovering the mouse over the cursor names in the tab will highlight the corresponding cursor on the chart.

  • Hovering the mouse over a channel name in the tab will highlight the corresponding channel in the chart.

  • Hovering the mouse over a value in the tab will highlight the corresponding channel and cursor on the chart to make it easier to see the intersection.

The color used for the cursors can be changed from the menu button at the top of the tab.

The Park button will place the cursors at the top left of the chart and will stop values from being shown for them.

The Bring cursors into the current window button will move the cursors to the current visible area of the chart if they are currently outside of it.

The Reposition at time control lets you enter a time value - this can be in hh:mm:ss.sss format or you can specify a value with a unit such as 1500mS. The control will show a red border if the entered value is invalid. Click the adjacent A or B buttons to move the cursor to the specified time.

The Horizontal lock axis control lets you select an axis so that as the displayed scales change, the horizontal cursor will reposition to maintain the same value on that axis. Note that the position will only be changed to match that one axis - as the other axes change the cursor will not reposition to maintain the same value on those axes.

10. Saving the Trace

By default, traces will be discarded if you close the application or start a new stream. When you have stopped the stream, you can choose to save the data for later.

  • Click the Save As button to keep your data. A recording can also be saved from the File menu that provides the Save Copy…​ and Save And Open…​ menu items.

    Save button
  • Note that large traces can take a long time to save, especially to a network location.

  • The Recording options in the Preferences dialog allow you to specify the persistence state of a recording, and provide the following three options:

    • The recording will be deleted on close.

    • The recording will be preserved on close.

    • Display the delete/preserve options at the end of a recording.

11. Exporting

You can export images and sub-regions of a trace and CSV data for later use.

11.1. Export screenshots

  • Click Save Snapshot and select what should be included in the snapshot, and then the directory you want the file to be saved in.

    Snapshot menu
  • Images can be saved as a PNG or JPEG file. The default file type can be changed within the application preferences.

11.2. Export region

You can create a new .qps file from a limited section of an existing trace. This significantly reduces the usage of disk space and allows you to easily share interesting sections of your data.

Trace files can be very large if you are running at high resolution or for a long period. It can take a long time to save a trace section if it is multiple gigabytes in size. Make sure you have sufficient disk space for the trace.
  • Select the region you wish to export.

  • Right-click on the highlighted region on the time-line and select Save Region As…​

    Export context menu
  • You can also export from the File > Export > Export As Trace menu option.

Additional export options are found in the File > Export menu.

11.3. Export to CSV

You can also export as a raw CSV file for post processing, noting that this is much larger than a compressed .qps format file.

  • You can export the entire trace or a selected region to CSV format by selecting File > Export > Export to CSV.

  • You can also use the right-click context menu on the highlighted region on the time-line and select Export to CSV.

The exported CSV can be customized by clicking the "Show Details" drop down on the Export to CSV dialog.

In this dialog you can select the delimiter type, line terminator, number of files to spread data across, system time or elapsed time, and channels to export.

Export dialog

11.4. Export report

You can generate a report that summarizes the key information from the currently open trace, for sharing or record-keeping. The report is produced as both an HTML file and a PDF file.

  • Select File > Export > As Report.

  • Choose the output directory for the report, and optionally enter a description to include in the report’s summary section.

  • Click Generate Report.

Export report dialog

The report is generated from whatever is currently visible in the chart window, so hide any channels or groups you don’t want included, and set the chart’s visible time range, before generating the report. The report includes:

  • Device and fixture identity information.

  • An image of the overall trace timeline, and an image of the currently visible chart.

  • Min/Max/Mean/RMS statistics for each visible channel, for both the whole trace and the currently visible chart range.

  • A breakdown of statistics for each annotation in the trace.

  • A list of comments added to the trace.

Once generated, the PDF report opens automatically.

12. Importing

The import of both single and multiple CSV files is supported.

The CSV format is the same as the one used to save CSV exports, details of which can be found by clicking on the Info blue circle in the bottom right corner of the dialogs.

The spreadsheet view of the import dialogs shows the first 10 data rows using the sample rate(s) from the first selected file. It does not attempt to provide a detailed overview of all files but instead displays the selected channels.

There are two key methods of importing a CSV file into a recording: generating a new recording and appending to an existing recording.

12.1. New Recording

The following two sections describe how to create a new recording from one or more CSV files.

12.1.1. Import Single CSV File

  • Click Tools > Import > From CSV > New Recording > Single File to bring up the CSV Importer dialog.

    CSV import from single file
  • CSV File selects the CSV file.

  • Channels summarizes all channels and groups detected in the file. This is a selectable combo box allowing you to select all or a selection of the available channels.

  • Channel Sample Rates is for information purposes and lists all detected channels and their associated groups and units, and is useful for verifying the CSV file header is valid.

  • Recording Parent Directory and Recording Filename specify the directory in which you want the newly generated recording to reside and its name.

  • Open On Completion automatically opens the newly generated recording once the import has completed.

  • Info Help click the blue circle at the bottom-right corner for information specific to importing a CSV file.

12.1.2. Import Multiple CSV Files

  • Click Tools > Import > From CSV > New Recording > Multiple Files to bring up the CSV Importer dialog.

    CSV import from multiple files
  • CSV Files provides controls for the addition and removal of one or more CSV files.

  • Channel Name Prefixes The use of channel name prefixes can resolve clashes between similarly named channels when importing multiple files. The prefix is variable and may be F to denote File, D to denote Device, and so on.

  • Channels summarizes all channels and groups detected in the file. This is a selectable combo box allowing you to select all or a selection of the available channels.

  • Channel Sample Rates is for information purposes and lists all detected channels and their associated groups and units, and is useful for verifying the CSV file header is valid.

  • Recording Parent Directory and Recording Filename specify the directory in which you want the newly generated recording to reside and its name.

  • Open On Completion automatically opens the newly generated recording once the import has completed.

  • Info Help click the blue circle at the bottom-right corner for information specific to importing CSV files.

12.2. Existing Recording

As well as generating a new recording from one or more CSV files, channels can be imported into an existing recording.

  • Click File > Import > From CSV > Custom Channels to bring up the CSV Import Of Custom Channels dialog.

    CSV import of custom channels
  • CSV File selects the CSV file.

  • Channels summarizes all channels and groups detected in the file. This is a selectable combo box allowing you to select all or a selection of the available channels.

  • Recording Time Range shows the from/to time range of the open recording.

  • Custom Channels Time Range shows the from/to time range of the channels defined in the CSV file.

  • Input Time Range defines the time range applied when importing the custom channel.

  • Offset Time specifies an offset time as either an elapsed time since the start of the recording or as a Unix time stamp.

  • Info Help click the blue circle at the bottom-right corner for information specific to importing a CSV file.

13. Recordings Converter

Version 1.47 of QPS introduced a new file storage system. In order to support the previous storage format, the conversion to the new format is performed automatically when a recording is opened. However, it is also possible to convert your old recordings either one at a time or as a batch of recordings.

Large savings in storage can be made using the new format since it packs values into the minimum required type and also uses both dense and sparse storage mechanisms.

  • To select the recordings converter, either select the Tools > Recordings Converter menu option from within QPS or at the common connection screen.

    Recordings Converter
  • Source Recording Directory specifies the directory containing the recordings to convert.

  • Source Recording Directory Selection lists all QPS recordings found in the selected source directory, and can be selected or unselected by clicking the check boxes.

  • Destination Recording Directory specifies where the converted recordings are to be placed.

  • Storage Versions requests the from and to storage version numbers, with only V1 [old format] to V2 [new format] currently supported.

  • Info Help click the blue circle at the bottom-right corner for information specific to performing the conversion.

14. Tools

This section describes the frequency analysis tool.

14.1. Frequency Analysis

The Frequency Analysis dialog generates both frequency and spectrogram charts for a selected channel over a specified time range.

  • Click Tools > Calculate > Frequency Analysis to bring up the Frequency Analysis dialog.

    Calculate - Frequency Analysis
  • Channels selects the required channel.

  • Plot Type specifies the type of required chart; refer to the Help page for further details about the various options.

  • Calculate click to generate and display the requested chart.

  • Info Help click the blue circle at the bottom-right corner for information specific to generating the periodogram and spectrogram charts.

14.1.1. Frequency Chart

  • The frequency analysis chart is generated by selecting Frequency Chart. On clicking Calculate this brings up the Frequency Analysis Chart.

    Frequency Analysis Chart
  • Info Help click the blue circle at the bottom-right corner for information specific to the frequency analysis chart.

14.1.2. Spectrogram

  • The spectrogram is generated by selecting Spectrogram. On clicking Calculate this brings up the Frequency Analysis Spectrogram chart.

    Spectrogram Chart
  • Info Help click the blue circle at the bottom-right corner for information specific to the spectrogram chart.

15. Preferences

From QPS click File > Preferences…​

  • General: settings for time unit display and recording location.

  • Precision: settings for precision of displayed numerical values.

  • Display: settings for window behavior, chart and stats display, and font sizes.

  • Chart Colors: settings for chart colors and themes.

  • Recording: settings for recording behavior, including file size limits.

  • Logging: settings for debug logging.

  • Export: settings for exporting data to CSV and images.

  • Performance: settings for performance and caching behavior.

Preferences window

16. Properties

The Properties menu item supports the three options of Device, Recording and Stream.

  • Device provides information about the connected device. This can also be accessed by clicking the USB or Ethernet icon on the right of the top toolbar.

  • Recording provides information about a loaded recording. This can also be accessed by clicking the file icon on the right of the top toolbar.

  • Stream provides real-time information relating to the data stream once recording has been activated.

17. Recovering and Resetting the Device

The Device menu item provides options for recovering from problems with the device.

  • The Device > Reset to Default State…​ menu item will reset the device to its default state. The default state is the same as when a device is turned on.

  • The Device > Reset to Factory Settings…​ menu item will reset the device to the settings when it left Quarch’s production site. Note that when resetting a device back to factory settings you will lose any LAN/Ethernet settings.

  • The Device > Reset Faults menu item will tell the device to clear any fault conditions. This is useful if the device has been in a fault state and you want to clear it without having to power cycle the device.

  • The Device > Recover Device…​ menu item will attempt to recover a connection to a device that has been disconnected or is not responding. This may resolve USB or Ethernet connection issues. If the device is not responding, you may need to power cycle the device before attempting to recover it.

18. Automatic Updates

Quarch Power Studio performs two checks to ensure you have the latest version. It first performs a check automatically when you first launch the application. If a newer version is available, you will notice a download arrow in the Connection screen. The second way of checking to see whether you have the latest version is a manual check via the Help > Check for Updates menu item.

If there is a firmware update available for a device a download button will be shown next to the device entry on the connection screen:

Connection screen with update available

19. Help and Support

Documentation and information about new features can be found in the Help menu.

If you need assistance beyond the documentation, there are multiple ways to access the support you need.

You can contact us directly or access an extensive range of valuable support materials from http://quarch.com/support.

  • Call +44 1343 508 140 during UK office hours or email support@quarch.com.

  • Our international partners are well trained in the use of our products and can deal with many basic technical queries from within your time zone, if you prefer. Check http://quarch.com/resellers for the contact details of your regional supplier.

Quarch Support agents may ask you to provide a copy of the log files for QPS and related software. You can find the log files using the Help > Open Log Directory menu item.

You can download up-to-date software and drivers, technical manuals, datasheets and more from our website. To help you get started quickly we provide additional documents, such as examples in Perl, Python and C#, and Telnet and Serial instructions.

Sign up for Quarch Technical Updates to get the most out of your Quarch products. Updates are published approximately once a quarter and include news about the latest features, tools, application notes and software updates. See http://quarch.com/content/sign-quarch-technical-updates.

20. Command Reference

This section lists the commands that can be sent to QPS over the TCP interface. By default QPS will open port 9822. Commands may be sent as UTF-8 text with the standard line terminator \r\n denoting the end of a command.

20.1. $chart channel hide

Version 2

Hides a channel

Arguments

# Argument Type Description

1

channel

STRING

Channel

2

group

STRING

Group

Returns: OK if successful, else Fail if an invalid group/channel name or the channel is already hidden

Examples

$chart channel hide group="voltage" channel="A"


20.2. $chart channel show

Version 2

Shows a channel

Arguments

# Argument Type Description

1

channel

STRING

Channel

2

group

STRING

Group

Returns: OK if successful, else Fail if an invalid group/channel name or the channel is already shown

Examples

$chart channel show group="voltage" channel="A"


20.3. $chart reposition

Version 2

Sets the chart main view to the specified start and end times

Arguments

# Argument Type Description

1

startTime

STRING

Start time

2

endTime

STRING

End time

Returns: OK if successful, else Fail if no device connected or invalid start/end times are specified

Notes

Both the start and end times are specified as a time-unit pair; for example: 100mS

startTime > 0, endTime > 0 and startTime < endTime

Examples

$chart reposition 10S 20S


20.4. $chart snapshot

Version 2

Takes a snapshot of the chart, timeline and channels windows

Arguments

# Argument Type Description

1

type

STRING

Type of snapshot to take consisting of a comma separated list of options: [all, chart, timeline, key]
Default: all
Acceptable Values: [all, chart, timeline, key]

2

filePath

STRING

Optional file path instead of using default archive path

Returns: OK if successful, else Fail if an invalid file path is specified

Examples

$chart snapshot -→ default and captures chart+timeline+key

$chart snapshot all -→ same as default

$chart snapshot chart -→ chart only

$chart snapshot chart,key -→ chart+key

$chart snapshot chart,timeline -→ chart+timeline

See also: $take snapshot


20.5. $convert csv

Version 2

Converts one or more CSV files [.csv] to a QPS recording [.qps]

Arguments

# Argument Type Description

1

from

STRING

From .csv file(s)

2

to

STRING

To .qps file

3

prefix

STRING

Channel name prefix
Default: None

Returns: OK if successful, else Fail if invalid from/to arguments or the conversion failed

Notes

For a "to" file such as "c:\\recordings\\rec1\\rec1.qps" the base directory "c:\\recordings" must exist, but the newly created recording directory "c:\\recordings\\rec1" must not already exist as this will be created as part of the conversion

All channels detected in the "from" file(s) are converted.

Multiple CSV files are comma-separated in the "from" argument.

Channel name prefixes are added by way of the "prefix" argument. For example, a prefix of "F" would apply prefix "F1" to the first CSV file, "F2" to the second CSV file, and so on. Prefixes are only necessary for two or more files and when channel name clashes will result from merging the CSV files.

Examples

$convert csv from="c:\\temp\\rec1.csv" to="c:\\recordings\\rec1\\rec.qps"

$convert csv from="c:\\temp\\rec1.csv,c:\\temp\\rec2.csv" to="c:\\recordings\\rec1\\rec.qps"

$convert csv from="c:\\temp\\rec1.csv,c:\\temp\\rec2.csv" to="c:\\recordings\\rec1\\rec.qps" prefix="F"

See also: $stream import


20.6. $debug list commands

Version 2

Returns a list of commands

Arguments

No arguments.

Returns: List of all commands


20.7. $echo

Version 1

Echo command

Arguments

# Argument Type Description

1

string

STRING

A string of text to simply echo back

Returns: A copy of the specified argument string


20.8. $get stats

Version 1

Returns statistics

Arguments

No arguments.

Returns: A table of statistics for all annotations


20.9. $help

Version 1

Help command

Arguments

# Argument Type Description

1

type

STRING

The type of help to return. Options: 1) None [same as "all"], 2) "all", 3) "internal", 4) help summary of another command; eg $help $echo
Default: all

Returns: Help for all commands or a requested command

Examples

$help -→ returns a list of all supported commands, each with a brief description

$help all -→ same as $help

$help $echo -→ returns a help summary of the $echo command

$help $chart snapshot -→ returns a help summary of the $chart snapshot command


20.10. $list

Version 1

Lists available devices

Arguments

No arguments.

Returns: A list of connected devices if devices found, else "No Devices Found"

See also: $module list


20.11. $list -details

Version 1

Lists available device details

Arguments

No arguments.

Returns: A list of connected devices with additional information if devices found, else "No Devices Found"


20.12. $module connect

Version 2

Connects to a specified device

Arguments

# Argument Type Description

1

device

STRING

Device ID

Returns: OK if successful, else Fail if the specified device cannot be found or if currently streaming

Notes

$module connect supports both device names and IP addresses

Examples

$module connect usb::QTL1999-02-999

$module connect tcp::81.187.174.46


20.13. $module disconnect

Version 2

Disconnects the current connection

Arguments

No arguments.

Returns: OK if successful, else Fail if no currently connected to a device


20.14. $module list

Version 2

Lists available devices

Arguments

No arguments.

Returns: A list of connected devices if devices found, else "No Devices Found"

See also: $list


20.15. $module list details

Version 2

Lists available device details

Arguments

No arguments.

Returns: A list of connected devices with additional information if devices found, else "No Devices Found"

See also: $list -details


20.16. $module name

Version 2

Returns the connected device ID

Arguments

No arguments.

Returns: The connected device if a valid connection is established, else "Device not found"

See also: $connected


20.17. $module scan

Version 2

Scans for available devices

Arguments

# Argument Type Description

1

deviceSpecifier

STRING

TCP/IP address to scan for devices

Returns: "Started network scan" if scanning for all devices. "Located Device: IP" if the specified device is found, else "No Quarch Device Found at: IP"

Examples

$module scan tcp::192.168.1.90

See also: $scan


20.18. $open recording

Version 2

Opens a recording

Arguments

# Argument Type Description

1

qpsFile

STRING

.qps file

Returns: OK if successful, else Fail if an invalid .qps file argument

Examples

$open recording qpsFile="C:\\quarch\\recordings\\AC\\AC_Gen_test\\AC_Gen_Test.qps"


20.19. $progress check

Version 2

Checks the progress of a specific QPS task

Arguments

# Argument Type Description

1

task

STRING

The task to be checked
Acceptable Values: [open recording]

Returns: Percentage complete, or Fail if no task has been specified

Examples

$progress check task="open recording"


20.20. $qis status

Version 1

Reports the connection status of QIS

Arguments

No arguments.

Returns: "Connected" or "Not Connected"


20.21. $qps hide

Version 2

Hides the QPS application

Arguments

No arguments.

Returns: OK if successful, else Fail if failed to hide the application

See also: $qps show


20.22. $qps show

Version 2

Shows the QPS application

Arguments

No arguments.

Returns: OK if successful, else Fail if failed to show the application

See also: $qps hide


20.23. $report generate

Version 2

Generate an HTML and PDF report from the currently open stream or trace file.

Arguments

# Argument Type Description

1

outputPath

STRING

The full path to a directory in which to save the report. This will be created if it does not already exist. Leave blank to place the report in the user_data folder of the current trace.

Returns: OK if successful, else Fail if an error occurred while starting report generation. This command can only execute on a completed trace - an error will be returned if recording is still in progress or there is no data to report.

Notes

Report generation can take time. This command returns immediately while report generation continues in the background. Use the query subcommand to check the progress of the report generation.

Examples

$report generate

$report generate outputPath="C:\\Reports\\Example"

See also: $report query


20.24. $report query

Version 2

Query the progress of report generation.

Arguments

No arguments.

Returns: A response indicating the current state of report generation. The response will include a line "Status: " followed by one of the following: "not started", "in progress", "complete", or "error". If the report generation has failed, the response will include a line "Errors: " followed by a list of error messages. The response will also include "Started at: ", "Completed at: " (where applicable) and "File: " (if completed)

Examples

$report query

See also: $report generate


20.25. $scan

Version 1

Scans for available devices

Arguments

# Argument Type Description

1

deviceSpecifier

STRING

TCP/IP address to scan for devices

Returns: "Started network scan" if scanning for all devices. "Located Device: IP" if the specified device is found, else "No Quarch Device Found at: IP"

Examples

$scan

$scan tcp::192.168.1.90

See also: $module scan


20.26. $shutdown

Version 1

Shuts down QPS

Arguments

No arguments.

Returns: OK if successful, else Fail if any arguments are specified


20.27. $stream annotation add

Version 2

Adds an annotation

Arguments

# Argument Type Description

1

time

STRING

Annotation time

2

text

STRING

Annotation string

3

extraText

STRING

Additional annotation text

4

yPosition

INT

y position percentage on screen; range: [0:100]
Default: 100

5

type

STRING

Type string used when assigning colour and text colour
Default: Type1

6

colour

STRING

Colour in hex format. The default is #FF0000, which equates to red
Default: #FF0000

7

textColour

STRING

Text colour in hex format. The default is #FF0000, which equates to red
Default: #FF0000

8

timeFormat

STRING

Time format ["elapsed", "unix"]. The default is "elapsed"
Default: elapsed
Acceptable Values: [elapsed, unix]

Returns: OK if completed successfully, else Fail if the command did not process correctly or an invalid time is specified

Notes

Time can be either an elapsed time or Unix time, determined by the timeFormat argument which is set to elapsed time by default

Examples

$stream annotation add 7S Annotation1

$stream annotation add 7500mS Annotation2

$stream annotation add 00:00:08 Annotation3


20.28. $stream annotations list

Version 2

Returns a list of all annotations

Arguments

# Argument Type Description

1

type

STRING

Specifies the type of annotations. Options: [all, annotations, comments]. The default is "all"
Default: all
Acceptable Values: [all, annotations, comments]

Returns: A list of annotations if successful, else Fail if an invalid "type" argument or no annotations are available

Notes

If the annotation text is empty then "Annotation ?" or "Comment ?" is used for annotations and comments respectively

Annotations are ordered by time since the start of recording


20.29. $stream annotations table

Version 2

Returns a table of all annotations

Arguments

# Argument Type Description

1

type

STRING

Specifies the type of annotations. Options: [all, annotations, comments]. The default is "all"
Default: all
Acceptable Values: [all, annotations, comments]

2

timeFormat

STRING

Specifies the time format. Options: [nS, uS, mS, S, HMS]. The default is "S"
Default: S
Acceptable Values: [nS, uS, mS, S, HMS]

Returns: A table of annotations if successful, else Fail if an invalid "type" or time argument or no annotations are available

Notes

If the annotation text is empty then "Annotation ?" or "Comment ?" is used for annotations and comments respectively

Annotations are ordered by time since the start of recording


20.30. $stream auto annotation

Version 2

Automatically adds an annotation

Arguments

# Argument Type Description

1

group

STRING

Channel group

2

channel

STRING

Channel name

3

digitalCondition

STRING

For digital trigger conditions and either "On Rising" or "On Falling"
Default: Not Specified
Acceptable Values: [On Rising, On Falling, Not Specified]

4

analogCondition

INT

For analog conditions and either ">=" or "⇐"
Default: Not Specified
Acceptable Values: [>=, ⇐, Not Specified]

5

analogConditionValue

STRING

For analog conditions, specifies the condition value such as 220000 for annotation triggering at 220,000mV

6

countType

STRING

The count type and set to one of the following: "Once", "Count" or "No Limit"
Default: Once
Acceptable Values: [Once, Count, No Limit]

7

countValue

STRING

For count types set to "Count" this argument specifies the maximum number of times the annotation is to be triggered such as 1 or 10 times
Default: 1

8

annotation

STRING

Annotation text. Options {COUNTER} and {VALUE} insert annotation counter and signal value. Limit to 200 characters
Default: Annotation = {COUNTER}

Returns: OK if completed successfully, else Fail if group, channel, condition type/value, count type/value or annotation text not specified,

Examples

$stream auto annotation group="Voltage" channel="L1" analogCondition=">=" analogConditionValue="220000" countType="Count" countValue="10" annotation="Annotation {COUNTER}"


20.31. $stream channel add

Version 2

Creates a new channel

Arguments

# Argument Type Description

1

channelName

STRING

Channel name

2

channelGroup

STRING

Channel group

3

baseUnits

STRING

Base units

4

usePrefix

STRING

Indicates whether to use a prefix; acceptable values are yes/no
Acceptable Values: [yes, no]

Returns: OK if successful, else Fail if the custom channel/group names already exist or an error occurred creating the new channel

Notes

A custom channel group name must be distinct from device group names

See also: $create channel


20.32. $stream channel add synthetic

Version 2

Defines a new channel function

Arguments

# Argument Type Description

1

channel

STRING

Defines the synthetic channel

2

function

STRING

Specifies the synthetic function

Returns: OK if successful, else Fail if no connected device, streaming in progress or an invalid channel/function specified

Examples

$stream channel add synthetic channel="chan(L1_RMS,V)" function="rms(100ms, chan(L1,V))"


20.33. $stream channel clear synthetic

Version 2

Clears all created functions

Arguments

No arguments.

Returns: OK if successful, else Fail if no connected device or streaming in progress


20.34. $stream channel list

Version 2

Returns a list of created channels

Arguments

# Argument Type Description

1

channelType

STRING

Defines the user or synthetic channel. Options: [all, user, synthetic]. The default is "all"
Default: all
Acceptable Values: [all, user, synthetic]

Returns: List of channels, else Fail if no connected device


20.35. $stream channel remove synthetic

Version 2

Deletes a previously created channel function

Arguments

# Argument Type Description

1

channel

STRING

Specifies the synthetic channel

Returns: OK if successful, or Fail if no device connected, streaming in progress or an invalid channel specified

Examples

$stream channel remove synthetic channel="chan(L1_RMS,V)"


20.36. $stream channel table

Version 2

Returns XML of function definitions

Arguments

# Argument Type Description

1

channelType

STRING

Defines the user or synthetic channel. Options: [all, user, synthetic]. The default is "all"
Default: all
Acceptable Values: [all, user, synthetic]

Returns: Table of channels, else Fail if no connected device


20.37. $stream channels

Version 2

Returns details of the current channels

Arguments

No arguments.

Returns: A list of channels in the format: "channelName groupName baseUnits", such as "12V voltage mV"

See also: $channels


20.38. $stream comment add

Version 2

Adds a comment

Arguments

# Argument Type Description

1

time

STRING

Comment time

2

text

STRING

Comment string

3

extraText

STRING

Additional comment text

4

yPosition

INT

y position percentage on screen; range: [0:100]
Default: 100

5

type

STRING

Type string used when assigning colour and text colour
Default: Type2

6

colour

STRING

Colour in hex format. The default is #FFFF00, which equates to yellow
Default: #FFFF00

7

textColour

STRING

Text colour in hex format. The default is #FFFF00, which equates to yellow
Default: #FFFF00

8

timeFormat

STRING

Time format ["elapsed", "unix"]. The default is "elapsed"
Default: elapsed
Acceptable Values: [elapsed, unix]

Returns: OK if completed successfully, else Fail if the command did not process correctly or an invalid time is specified

Notes

Time can be either an elapsed time or Unix time, determined by the timeFormat argument which is set to elapsed time by default

Examples

$stream comment add 10.25S Comment1

$stream comment add 11000mS Comment2

$stream comment add 00:00:12 Comment3


20.39. $stream data add

Version 2

Adds a channel/group value at a specified time

Arguments

# Argument Type Description

1

channel

STRING

Channel

2

group

STRING

Group

3

time

INT

Time

4

value

FLOAT

Value

5

timeFormat

STRING

Time format ["elapsed", "unix"]. The default is "elapsed"
Default: elapsed
Acceptable Values: [elapsed, unix]

Returns: OK if successful, else Fail if an invalid group/channel or time are specified

Notes

Format: channel group time value timeFormat

Time can be either an elapsed time or Unix time, determined by the timeFormat argument which is set to elapsed time by default

To indicate the end marker of an interval then set the value to 'endSeq'; eg : myStream.addDataPoint(channelName, groupName, 'endSeq')

See also: $log


20.40. $stream export

Version 2

Saves to a given format

Arguments

# Argument Type Description

1

file

STRING

The file path to save the export

2

maxLines

STRING

Maximum number of lines
Default: all

3

lineTerminator

STRING

Indicates whether a line terminator; acceptable values: [yes/no]
Default: yes
Acceptable Values: [yes, no]

4

delimiter

STRING

Value separator; eg ,
Default: ,
Acceptable Values: ["\\t", ";", ",", " "]

5

fileType

STRING

File type; eg CSV
Default: csv

6

channels

STRING

List of channels to export; eg "voltage:5v,current:12v" with the default set to "all"
Default: all

7

defaultDirectory

STRING

Sets the default csv file directory to save all exported files

Returns: OK if successful, else Fail if an error occurred saving, an invalid file or argument was specified

Notes

By default all channels are exported but can be filtered using argument "channels"

Examples

$save export file="C:\\Temp\\RawData100us.csv" fileType="csv"


20.41. $stream export status

Version 2

Checks the status of export operation.

Arguments

No arguments.

Returns: "COMPLETE" if complete or "IN PROGRESS" if in progress

Notes

Returns "COMPLETE" if the export is complete, otherwise returns "IN PROGRESS".


20.42. $stream import

Version 2

Imports from a given format

Arguments

# Argument Type Description

1

file

STRING

The file path to be imported

2

fileType

STRING

File type; eg CSV
Default: csv

3

delimiter

STRING

Value separator; eg ,
Default: ,
Acceptable Values: ["\\t", ";", ",", " "]

4

minTime

STRING

The minimum time value; eg 100mS. The default value of 0nS indicates reading from the start
Default: 0nS

5

maxTime

STRING

The maximum time value; eg 800mS. The default value of -1nS indicates reading to the end
Default: -1nS

6

offsetTime

STRING

The offset time value; eg 10mS. The default value of 0nS indicates there is no offset
Default: 0nS

7

channels

STRING

List of channels to import; eg "voltage:5v,current:12v" with the default set to "all"
Default: all

8

timeFormat

STRING

Time format ["elapsed", "unix"]. The default is "elapsed"
Default: elapsed
Acceptable Values: [elapsed, unix]

Returns: OK if successful, else Fail if an invalid file

Notes

The file must contain an extension that matches the one specified in fileType. This is used as a check.

Examples

$stream import file="C:\\Temp\\data.csv"

$stream import file="C:\\Temp\\data.csv" channels="voltage:12v,current:12v"

$stream import file="C:\\Temp\\data.csv" channels="voltage:12v,current:12v" minTime=1S maxTime=10S


20.43. $stream read

Version 2

Reads data between from a given start time and either end time or number of records

Arguments

# Argument Type Description

1

startTime

INT

Start time

2

endTime

STRING

End time

3

timeFormat

STRING

Time format ["elapsed", "unix"]. The default is "elapsed"
Default: elapsed
Acceptable Values: [elapsed, unix]

Returns: Read data if successful, else Fail if no connected device, or an invalid time argument

Notes

Time can be either an elapsed time or Unix time, determined by the timeFormat argument which is set to elapsed time by default

Examples

$stream read 0 l100

See also: $read


20.44. $stream record

Version 2

Starts streaming

Arguments

# Argument Type Description

1

file

STRING

File specifier of the form /dir/dir/dir/recordingName. Any '\\' characters are replaced with '/' character

2

duration

INT

Specifies the stream duration in seconds.

Returns: OK if successful, else Fail if no connected device is found, if a stream is already running, a stream did not start or an invalid recording directory is specified

See also: $start stream


20.45. $stream record duration

Version 2

Returns the total recording time

Arguments

# Argument Type Description

1

timeFormat

STRING

Specifies the time format. Options: [nS, uS, mS, S, HMS]. The default is "S"
Default: S
Acceptable Values: [nS, uS, mS, S, HMS]

Returns: Recording duration, else Fail if not connected to a device

Notes

A value of -1 is returned if streaming has not commenced


20.46. $stream start time

Version 2

Returns the time that streaming started

Arguments

# Argument Type Description

1

timeFormat

STRING

Specifies the time format. Options: [nS, uS, mS, S, HMS]. The default is "S"
Default: S
Acceptable Values: [nS, uS, mS, S, HMS]

Returns: Time stream started, else Fail if not connected to a device

Notes

A value of -1 is returned if streaming has not commenced


20.47. $stream state

Version 1

The current state of streaming

Arguments

No arguments.

Returns: One of the following: Stopped, Starting, Recording or Stopping


20.48. $stream stats export

Version 2

Saves the statistics to a given format

Arguments

# Argument Type Description

1

file

STRING

Single argument string specifying file path of form: STREAM_DIR"statsGrid"+yyyyMMddHHmmss".csv" - Path for data to be saved to.

2

fileType

STRING

Type of export file; eg .csv
Default: csv

Returns: OK if successful, else FAIL if an error occurred creating the file parent directory

See also: $stats to csv


20.49. $stream stats export status

Version 2

Checks the status of the stats export operation.

Arguments

No arguments.

Returns: "COMPLETE" if completed, or "IN PROGRESS" if in progress


20.50. $stream stats table

Version 2

Returns statistics

Arguments

# Argument Type Description

1

startTime

INT

Start time. Time format is either HMS or a (time,unit) pair; eg 100mS

2

endTime

INT

End time. Time format is either HMS or a (time,unit) pair; eg 100mS

3

timeFormat

STRING

Time format ["elapsed", "unix"]. The default is "elapsed"
Default: elapsed
Acceptable Values: [elapsed, unix]

Returns: Table of statistics, or Fail of no device connected or an invalid time argument

Notes

Time can be either an elapsed time or Unix time, determined by the timeFormat argument which is set to elapsed time by default


20.51. $stream stop

Version 2

Stops streaming

Arguments

No arguments.

Returns: OK if successful, else Fail if not currently streaming

See also: $stop stream


20.52. $stream stop time

Version 2

Returns the time that streaming stopped

Arguments

# Argument Type Description

1

timeFormat

STRING

Specifies the time format. Options: [nS, uS, mS, S, HMS]. The default is "S"
Default: S
Acceptable Values: [nS, uS, mS, S, HMS]

Returns: Time stream stopped, else Fail if not connected to a device

Notes

A value of -1 is returned if streaming has not commenced


20.53. $version

Version 1

Version number

Arguments

No arguments.

Returns: Version number


20.54. Deprecated Commands Reference

The commands in this section are no longer recommended for use and are preserved here for legacy support.

20.54.1. Deprecated Commands Table

Command Description Version Version 2 Command Reference

$annotate

Adds an annotation

Version 1

$stream annotation add

$channels

Returns details of the current channels

Version 1

$stream channels

$comment

Adds a comment

Version 1

$stream comment add

$connect

Connects to a specified device

Version 1

$module connect

$connected

Returns the connected device ID

Version 1

$module name

$create channel

Creates a new channel

Version 1

$stream channel add

$get custom stats range

Returns statistics for a specified range

Version 1

$stream stats table

$hide channel

Hides a channel

Version 1

$chart channel hide

$log

Adds a channel/group value at a specified time

Version 1

$stream data add

$read

Reads data between a given start time and either end time or number of records

Version 1

$stream read

$save csv

Saves to CSV format

Version 1

$stream export

$show channel

Shows a channel

Version 1

$chart channel show

$start stream

Starts streaming

Version 1

$stream record

$stats to csv

Saves the statistics to CSV format

Version 1

$stream stats export

$stop stream

Stops streaming

Version 1

$stream stop

$take snapshot

Takes a snapshot of the chart, timeline and channels windows

Version 1

$chart snapshot

20.54.2. Deprecated Commands Details

20.55. $annotate (DEPRECATED)

Version 1

Adds an annotation

Arguments

# Argument Type Description

1

time

STRING

Annotation time

2

text

STRING

Annotation string

Returns: OK if completed successfully, else Fail if the command did not process correctly or an invalid time is specified

Notes

Format of params string: time_specifier[space]text to be added, eg 123.456 hello world

Time specifier is of the form: for elapsed time relative to the recording: exxxDxxx:xxx:xxx.xxx for absolute time, pass the number of milliseconds since the epoch (midnight 1 January 1970 UTC, ie Unix time common to many environments): xxxxxxxxxxxx

The annotation text may be split over two or more lines by including \\n in the string

Examples

$annotate 0 Annotation1 -→ adds an annotation at time 0 and so at record number 0


20.56. $channels (DEPRECATED)

Version 1

Returns details of the current channels

Arguments

No arguments.

Returns: A list of channels in the format: "channelName groupName baseUnits", such as "12V voltage mV"

Notes

Return details of current channels in the format: channelName groupName baseUnits

See also: $stream channels


20.57. $comment (DEPRECATED)

Version 1

Adds a comment

Arguments

# Argument Type Description

1

time

STRING

Comment time

2

text

STRING

Comment string

Returns: OK if completed successfully, else Fail if the command did not process correctly or an invalid time is specified

Notes

Format of params string: time_specifier[space]text to be added, eg 123.456 hello world

Time specifier is of the form: for elapsed time relative to the recording: exxxDxxx:xxx:xxx.xxx for absolute time, pass the number of milliseconds since the epoch (midnight 1 January 1970 UTC, ie Unix time common to many environments): xxxxxxxxxxxx

The annotation text may be split over two or more lines by including \\n in the string

Examples

$comment e1 Comment1 -→ adds a comment after an elapsed time of 1 second


20.58. $connect (DEPRECATED)

Version 1

Connects to a specified device

Arguments

# Argument Type Description

1

device

STRING

Device ID

Returns: OK if successful, else Fail if an attempt is made to call this command while streaming, the device is not found, a QPS UI error occurred or a connection timeout occurred

Notes

The command is passed to QIS which will test the connection availability and suitability for streaming data returning a status of OK or the reason for connection failure. If connection is successful, the CCS and file dialogs should close and the chart window connected to the device should display.

$connect supports both device names and IP addresses

Examples

$connect usb::QTL1999-02-999

$connect tcp::QTL1999-02-999

$connect tcp::81.187.174.46

See also: $module connect


20.59. $connected (DEPRECATED)

Version 1

Returns the connected device ID

Arguments

No arguments.

Returns: The connected device if a valid connection is established, else "Device not found"

See also: $module name


20.60. $create channel (DEPRECATED)

Version 1

Creates a new channel

Arguments

# Argument Type Description

1

channelName

STRING

Channel name

2

channelGroup

STRING

Channel group

3

baseUnits

STRING

Base units

4

usePrefix

STRING

Indicates whether to use a prefix; acceptable values are yes/no

Returns: OK if successful, else Fail if the custom channel/group names already exist or an error occurred creating the new channel

Notes

Format: channelName channelGroup baseUnits yes/no(usePrefix)

usePrefix [yes/no] option 'no' disables the application of metric prefixes u, m, k, M etc

A custom channel group name must be distinct from device group names


20.61. $get custom stats range (DEPRECATED)

Version 1

Returns statistics for a specified range

Arguments

# Argument Type Description

1

startTime

STRING

Start time. For example: 5432.1 is 5432.1 seconds, 17d5432.1 is 17 days 5432.1 seconds, 17d200:5432.1 is 17 days 200 minutes and 5432.1 seconds etc

2

endTime_numRecords

STRING

End time OR number of records of form: [endTime | lnumber of records] in which letter "l" denotes that number of records is being specified

Returns: Statistics for a specified range, or Fail if no device is connected or invalid start/end times specified


20.62. $hide channel (DEPRECATED)

Version 1

Hides a channel

Arguments

# Argument Type Description

1

channelInfo

STRING

Channel information; a string split by : and assumed the following order: #0 = name, #1 = groupName, #2+ ignore

Returns: OK if successful, else Fail if an invalid group/channel name or the channel is already hidden


20.63. $log (DEPRECATED)

Version 1

Adds a channel/group value at a specified time

Arguments

# Argument Type Description

1

channel

STRING

Channel name

2

group

STRING

Group name

3

time

INT

Time

4

value

FLOAT

Value

Returns: OK if successful, else Fail if an invalid group/channel or time are specified

Notes

Format: channelName channelGroup time value

Time format: UNIX time in mS or exxxDxx:xx:xx.xxxx for daysDhours:minutes:seconds.xxx

To indicate the end marker of an interval then set the value to 'endSeq'; eg : myStream.addDataPoint(channelName, groupName, 'endSeq')

See also: $stream data add


20.64. $read (DEPRECATED)

Version 1

Reads data between a given start time and either end time or number of records

Arguments

# Argument Type Description

1

startTime

INT

Start time

2

endTime_numRecords

STRING

Number of records of form: [endTime | lnumber of records], in which the letter "l" denotes that the number of records is being specified

Returns: Read data if successful, else Fail if no connected device, or an invalid time argument

Notes

Times are xxxDxx:xx:xx.xxxx for daysDhours:minutes:seconds.xxx, number of records is exactly what you’d expect

Returns corresponding (long) sample time and all columns in raw format separated by ' ' spaces.

Examples

$read 0 l100

See also: $stream read


20.65. $save csv (DEPRECATED)

Version 1

Saves to CSV format

Arguments

# Argument Type Description

1

file

STRING

The optional file to save the CSV data. If the file does not have a .csv extension then one is added.

2

maxLines

INT

Maximum number of lines; -l[ALL|Max lines per file]
Default: -lall

3

lineTerminator

STRING

Indicates whether a line terminator; acceptable values: -c[yes/no]
Default: -cyes

4

delimiter

STRING

Value separator; acceptable values: -s[",", "\\t", ";", " "]
Default: -s,

Returns: OK if successful, else Fail if an error occurred saving, an invalid file or argument was specified

Notes

Format: $save csv "file path/file name" -l[ALL\|Max lines per file] -c[yes/no] -s[",", "\\t", ";", " "]

If no .csv file is specified then the following is assigned: …​/path to recording directory/csvExport+yyyyMMddHHmmss.csv

Examples

$save csv filePath -11000 -cyes -s,

See also: $stream export


20.66. $show channel (DEPRECATED)

Version 1

Shows a channel

Arguments

# Argument Type Description

1

channelInfo

STRING

Channel information

Returns: OK if successful, else Fail if an invalid group/channel name or the channel is already shown

Notes

Channel is a string split by ":" and assumed the following order: #0 = name, #1 = groupName, #2+ ignore


20.67. $start stream (DEPRECATED)

Version 1

Starts streaming

Arguments

# Argument Type Description

1

file

STRING

File specifier is of the form /dir/dir/dir/recordingName. Any '\\' characters are replaced with '/' character

2

duration

INT

Specifies the stream duration in seconds.

Returns: OK if successful, else Fail if no connected device is found, if a stream is already running, a stream did not start or an invalid recording directory is specified

See also: $stream record


20.68. $stats to csv (DEPRECATED)

Version 1

Saves the statistics to CSV format

Arguments

# Argument Type Description

1

file

STRING

A single argument string specifying file path of form: STREAM_DIR"statsGrid"+yyyyMMddHHmmss".csv" - Path for data to be saved to.

Returns: OK if successful, else FAIL if an error occurred creating the CSV file parent directory


20.69. $stop stream (DEPRECATED)

Version 1

Stops streaming

Arguments

No arguments.

Returns: OK if successful, else Fail if no stream is currently running

See also: $stream stop


20.70. $take snapshot (DEPRECATED)

Version 1

Takes a snapshot of the chart, timeline and channels windows

Arguments

# Argument Type Description

1

type

STRING

Type of snapshot to take consisting of a comma separated list of options: [all, chart, timeline, key]
Default: all

Returns: OK if successful, else Fail if an invalid type is specified

Examples

$take snapshot -→ default and captures chart+timeline+key

$take snapshot all -→ same as default

$take snapshot chart -→ chart only

$take snapshot chart,key -→ chart+key

$take snapshot chart,timeline -→ chart+timeline

See also: $chart snapshot