Skip to main content
Set the digital output level of GPIO pins, with an optional hold mode that keeps the output asserted until interrupted.

Syntax

lager gpo [NETNAME] LEVEL [OPTIONS]

Arguments

ArgumentDescription
NETNAMEGPIO net name (optional if default is set). If omitted, lists all available GPIO nets.
LEVELOutput level (see below)

Level Values

The following values are accepted (case-insensitive):
ValueResult
high, on, 1Set pin high
low, off, 0Set pin low
toggleInvert current state

Options

OptionDescription
--box BOXLagerbox name or IP address
--holdHold output state (keeps process alive until Ctrl+C)

Usage

# Set pin high
lager gpo LED1 high --box my-lager-box

# Set pin low
lager gpo LED1 low

# Toggle pin state
lager gpo LED1 toggle

# Using numeric values
lager gpo LED1 1
lager gpo LED1 0

# List available GPIO nets (omit net name and level)
lager gpo --box my-lager-box

Hold Mode

The --hold flag keeps the process alive after setting the output level. The pin state is maintained until you press Ctrl+C. This is useful when you need to assert a signal for manual testing or when the pin state would otherwise be reset between CLI invocations.
# Hold reset line low until manually released
lager gpo RESET_N low --hold --box my-lager-box
# Press Ctrl+C to release

# Hold enable pin high during manual testing
lager gpo EN high --hold
# Press Ctrl+C when done

Supported Hardware

DevicePinsVoltage
LabJack T7FIO0-FIO73.3V logic
MCC USB-202DIO0-DIO7 (0-7)3.3V/5V TTL
Aardvark0-5 (SCL, SDA, MISO, SCK, MOSI, SS)3.3V
FT232H0-15 (AD0-AD7, AC0-AC7)3.3V
Aardvark and FT232H GPIO support is currently disabled and may be re-enabled in a future release. LabJack T7 and MCC USB-202 are the active GPIO backends.

Aardvark Pin Mapping

The Aardvark I2C/SPI adapter exposes 6 GPIO pins on its 10-pin header. Pins can be specified by number or signal name:
PinNameHeader Pin
0SCL1
1SDA3
2MISO5
3SCK7
4MOSI8
5SS9

FT232H Pin Mapping

The FT232H provides 16 GPIO pins across two ports:
PinsNamesDescription
0-7AD0-AD7Port A data pins
8-15AC0-AC7Port A control pins

Examples

# Control an LED
lager gpo LED1 on --box lab-gw
sleep 1
lager gpo LED1 off --box lab-gw

# Toggle reset line
lager gpo RESET_N low
sleep 0.1
lager gpo RESET_N high

# Blink pattern
for i in {1..5}; do
    lager gpo LED1 toggle
    sleep 0.5
done

# Hold a signal during manual testing
lager gpo BOOT0 high --hold --box lab-gw
# Ctrl+C to release, then flash firmware

# Assert chip select for manual SPI debugging
lager gpo CS_N low --hold --box lab-gw


Notes

  • GPO is for setting output pins only
  • Use lager gpi to read input pins
  • Default net can be set with lager defaults add --gpio-net
  • Pin must be configured as output in net configuration
  • Toggle reads current state and inverts it
  • USB-202 channels can be specified as 0-7 or DIO0-DIO7
  • --hold keeps the process running; press Ctrl+C to release the pin and exit
  • Without --hold, the output level is set and the command exits immediately; the pin retains its state until the next command