Skip to main content
Control digital input/output pins for digital signaling and control.

Import

from lager import Net, NetType

Methods

MethodDescription
input()Read digital pin state
output()Set digital pin state

Method Reference

Net.get(name, type=NetType.GPIO)

Get a GPIO net by name.
from lager import Net, NetType

pin = Net.get('LED', type=NetType.GPIO)
Parameters:
ParameterTypeDescription
namestrName of the GPIO net
typeNetTypeMust be NetType.GPIO
Returns: GPIO Net instance

input()

Read the digital state of the pin.
from lager import Net, NetType

pin = Net.get('BUTTON', type=NetType.GPIO)
state = pin.input()

if state:
    print("Pin is HIGH")
else:
    print("Pin is LOW")
Returns: int - 0 for LOW, 1 for HIGH

output(level)

Set the digital state of the pin.
from lager import Net, NetType

pin = Net.get('LED', type=NetType.GPIO)

# Set HIGH
pin.output(1)

# Set LOW
pin.output(0)
ParameterTypeDescription
levelint or str0/1, “low”/“high”, “off”/“on”

Examples

Read Button State

from lager import Net, NetType

button = Net.get('BUTTON', type=NetType.GPIO)

state = button.input()
if state:
    print("Button pressed")
else:
    print("Button released")

Control LED

from lager import Net, NetType

led = Net.get('LED', type=NetType.GPIO)

# Turn on
led.output(1)

# Turn off
led.output(0)

Button-Controlled LED

from lager import Net, NetType
import time

button = Net.get('BUTTON', type=NetType.GPIO)
led = Net.get('LED', type=NetType.GPIO)

print("Press Ctrl+C to exit")

while True:
    try:
        if button.input():
            led.output(1)
        else:
            led.output(0)
        time.sleep(0.1)
    except KeyboardInterrupt:
        led.output(0)
        break

Toggle Output

from lager import Net, NetType
import time

output_pin = Net.get('SIGNAL', type=NetType.GPIO)

# Generate 10 pulses
for i in range(10):
    output_pin.output(1)
    time.sleep(0.5)
    output_pin.output(0)
    time.sleep(0.5)

Hardware Integration

HardwarePin Mapping
LabJack T7FIO0-FIO7, EIO0-EIO7, CIO0-CIO3

Pin Mapping

Pin NumberLabJack Channel
0FIO0
1FIO1
2FIO2
7FIO7

Notes

  • GPIO nets work directly without enable()/disable() calls
  • Input returns 0 or 1
  • Output accepts integers (0/1) or strings (“high”/“low”, “on”/“off”)
  • Each operation opens and closes the LabJack connection
  • Net names must match those configured on the Lager Box