Skip to main content
Workbench is the dashboard page for hands-on work with one box. You select a box, and then you can drive its instruments, run a test, or watch its webcams. Use Workbench to bring up a board, to check one net, or to reproduce a problem by hand. To run the same checks the same way on every unit, use a Factory suite.

Who can use Workbench

  • Workbench shows in the sidebar when your organization has the Workbench feature and you have access to it. An owner or admin controls this access. See Members and invitations.
  • Members can open Workbench and see each instrument and its nets.
  • Only owners and admins can send commands to an instrument, flash firmware, or open a UART console. Stout refuses these actions for members.
  • Members can run tests on the boxes that they can access. See Select Test.
For the full list, see Roles and permissions.

Select a box

  1. In the sidebar, select Workbench. You can also select the Workbench tab on the page of a box, which opens Workbench on that box.
  2. In the Box field, type part of a box name, an IP address, or a group name.
  3. Select the box in the list.
At the top right of the page, a button with the name of the box opens the Nets tab of that box. The list shows only the boxes that are online and have an IP address. Your favorite boxes come first. Select Favorites to show only your favorite boxes. A lock icon shows the boxes that have a lock. You means that you hold the lock. Otherwise the list shows the name of the lock holder. See Box locks. After you select a box, Workbench shows three cards.

Control instruments

Select Control Instruments to show the instruments of the box. Workbench shows one card for each instrument. Each card shows whether the box detects the instrument now. Select an instrument card to open a panel for each of its nets. An instrument can have more than six nets of two or more types. Then Workbench puts its panels into collapsed sections, such as ADC and Power. Workbench refreshes the instrument list every 30 seconds, and also when the box reports a change. If the box detects an instrument that has no net, the card of the instrument shows Add nets. This button opens the Nets tab of the box page. Workbench does not create nets. See Nets and templates. If the box does not detect an instrument now, its card does not show the panels. Connect the instrument again to drive its nets.
This concept comes from Lager, the open-source runtime that Stout sits on top of. For the full reference, see the Lager documentation.

Panels by net role

Stout limits a measurement window to 30 seconds. Stout refuses an SPI or I2C transaction with more than 4,096 data bytes. On a power supply panel, the More actions menu has Clear OCP trip and Clear OVP trip. The battery simulator panel also has Clear all trips. For the Lager commands and Python API behind each panel, see Interacting with nets in the Lager docs.

Locked boxes

When another person holds the lock on a box, Workbench refuses most panel commands. This rule applies to every role, owners and admins included. These reads still work on a locked box: the status of power supply, battery, and USB hub panels, and the battery model list and export. To drive the box, ask the lock holder to release the lock. An owner or admin can also force the lock open. See Box locks.
A lock does not stop the UART console or a firmware flash. Before you flash a target or send data on a UART net, check the lock state in the Box field. Another person can hold the box for a test.

Battery custom models

A battery simulator panel can export a saved custom model to a CSV file. It can also create a model from a CSV file. These actions need Lager 0.31.12 or later on the box. To export a model:
  1. On the battery simulator panel, open More actions and select Export model to CSV….
  2. In Model slot, select a slot.
  3. Select Export CSV.
The browser downloads a file with the name <net>-model-slot-<N>.csv. The file has a voc,resistance header row and one row for each point. An export does not change the active model. To create a model:
  1. On the battery simulator panel, open More actions and select Create model from CSV….
  2. In Model CSV, select the file. Workbench checks the file and shows a preview of the curve.
  3. In Destination slot, select a slot from 1 to 9.
  4. If the slot holds a model, select Overwrite slot N.
  5. Select Save model. For an occupied slot, the button is Overwrite slot N.
Before you overwrite a slot, export its model if you want to keep it. The Keithley 2281S cannot delete or restore a slot.
Workbench checks every rule in the browser before it sends the model to the box. The same file format works with lager battery model-create and lager battery model-export. See the Lager battery commands.

Flash firmware

A debug or arm net drives a debug probe, such as a J-Link. The Debug (J-Link) panel flashes firmware to the target MCU. Before you flash, set the channel of the net to the part number of the MCU, for example STM32F407VG. Set the channel on the Nets tab of the box page. Until you do, the panel does not let you flash.
  1. Select Choose file and select a .hex, .elf, or .bin file.
  2. For a .bin file, enter the Load address. The default is 0x08000000.
  3. Select the options that you need: Verbose, Skip erase, and Halt after flash.
  4. Select Flash.
A flash runs these steps in order:
  1. Stout connects to the probe.
  2. Stout erases the target, unless you selected Skip erase.
  3. Stout writes the file to the target.
  4. If you selected Halt after flash, Stout resets the target and halts it.
The panel waits up to 200 seconds for the flash to finish. If the halt step fails, the flash still succeeds, and the output shows a warning. For the matching Lager command, see lager debug.

UART console

A uart net opens a serial console in the browser.
  1. In the baud rate list, select a rate from 9600 to 921600. The list starts at the saved baud rate of the net, or at 115200.
  2. Select Connect.
  3. Type a line in the input field.
  4. Select a line ending: LF, CRLF, CR, or None.
  5. Select Send.
Only one session can use a UART net at a time. If another browser tab or another person has the net open, Stout refuses the second session. Stout waits up to 10 seconds for the box to open the port. The console removes ANSI color codes and keeps the last 200,000 characters. The console does not connect again by itself. After a disconnect, select Connect again. For the matching Lager command, see lager uart.

Webcams

View Webcams opens the Webcams tab of the box page. See Webcams.

Open Workbench from a box

On the Nets tab of a box page, Control in Workbench opens Workbench with that box selected. The Control button in the heading of an instrument, or in the row of a net, also opens the panels of that instrument. You can also open these URLs directly:

Select Test

Run a Lager test from your repository on the selected box.

Box locks

Take a lock before you drive a shared bench.