Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.lagerdata.com/llms.txt

Use this file to discover all available pages before exploring further.

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