labgrid.resource package

Submodules

labgrid.resource.base module

class labgrid.resource.base.SerialPort(target, port=None, speed=115200)[source]

Bases: labgrid.resource.common.Resource

The basic SerialPort describes port and speed

Parameters:
  • port (str) – port to connect to
  • speed (int) – speed of the port, defaults to 115200
port = Attribute(name='port', default=None, validator=None, repr=True, cmp=True, hash=True, init=True, convert=None, metadata=mappingproxy({}))
speed = Attribute(name='speed', default=115200, validator=<instance_of validator for type <class 'int'>>, repr=True, cmp=True, hash=True, init=True, convert=None, metadata=mappingproxy({}))
class labgrid.resource.base.EthernetInterface(target, ifname=None)[source]

Bases: labgrid.resource.common.Resource

The basic EthernetInterface contains an interfacename

Parameters:ifname (str) – name of the interface
ifname = Attribute(name='ifname', default=None, validator=None, repr=True, cmp=True, hash=True, init=True, convert=None, metadata=mappingproxy({}))

labgrid.resource.common module

class labgrid.resource.common.Resource(target)[source]

Bases: labgrid.binding.BindingMixin

Represents a resource which is used by drivers. It only stores information and does not implement any actual functionality.

Resources can exist without a target, but they must be bound to one before use.

Life cycle:

  • create
  • bind (n times)
avail = Attribute(name='avail', default=True, validator=<instance_of validator for type <class 'bool'>>, repr=True, cmp=True, hash=True, init=False, convert=None, metadata=mappingproxy({}))
command_prefix
class labgrid.resource.common.NetworkResource(target, host)[source]

Bases: labgrid.resource.common.Resource

Represents a remote Resource available on another computer.

This stores a command_prefix to describe how to connect to the remote computer.

Parameters:host (str) – remote host the resource is available on
host = Attribute(name='host', default=NOTHING, validator=<instance_of validator for type <class 'str'>>, repr=True, cmp=True, hash=True, init=True, convert=None, metadata=mappingproxy({}))
command_prefix
class labgrid.resource.common.ResourceManager[source]

Bases: object

instances = {}
classmethod get()[source]
on_resource_added(resource)[source]
poll()[source]
class labgrid.resource.common.ManagedResource(target)[source]

Bases: labgrid.resource.common.Resource

Represents a resource which can appear and disappear at runtime. Every ManagedResource has a corresponding ResourceManager which handles these events.

manager_cls

alias of ResourceManager

timeout = Attribute(name='timeout', default=2.0, validator=<instance_of validator for type <class 'float'>>, repr=True, cmp=True, hash=True, init=False, convert=None, metadata=mappingproxy({}))
poll()[source]

labgrid.resource.networkservice module

class labgrid.resource.networkservice.NetworkService(target, address, username)[source]

Bases: labgrid.resource.common.Resource

address = Attribute(name='address', default=NOTHING, validator=<instance_of validator for type <class 'str'>>, repr=True, cmp=True, hash=True, init=True, convert=None, metadata=mappingproxy({}))
username = Attribute(name='username', default=NOTHING, validator=<instance_of validator for type <class 'str'>>, repr=True, cmp=True, hash=True, init=True, convert=None, metadata=mappingproxy({}))

labgrid.resource.onewireport module

class labgrid.resource.onewireport.OneWirePIO(target, host, path)[source]

Bases: labgrid.resource.common.Resource

This resource describes a Onewire PIO Port.

Parameters:
  • host (str) – hostname of the owserver e.g. localhost:4304
  • path (str) – path to the port on the owserver e.g. 29.7D6913000000/PIO.0
host = Attribute(name='host', default=NOTHING, validator=<instance_of validator for type <class 'str'>>, repr=True, cmp=True, hash=True, init=True, convert=None, metadata=mappingproxy({}))
path = Attribute(name='path', default=NOTHING, validator=<instance_of validator for type <class 'str'>>, repr=True, cmp=True, hash=True, init=True, convert=None, metadata=mappingproxy({}))

labgrid.resource.power module

class labgrid.resource.power.NetworkPowerPort(target, model, host, index)[source]

Bases: labgrid.resource.common.Resource

The NetworkPowerPort describes a remotely switchable PowerPort

Parameters:
  • model (str) – model of the external power switch
  • host (str) – host to connect to
  • index (str) – index of the power port on the external switch
model = Attribute(name='model', default=NOTHING, validator=<instance_of validator for type <class 'str'>>, repr=True, cmp=True, hash=True, init=True, convert=None, metadata=mappingproxy({}))
host = Attribute(name='host', default=NOTHING, validator=<instance_of validator for type <class 'str'>>, repr=True, cmp=True, hash=True, init=True, convert=None, metadata=mappingproxy({}))
index = Attribute(name='index', default=NOTHING, validator=<instance_of validator for type <class 'str'>>, repr=True, cmp=True, hash=True, init=True, convert=<function NetworkPowerPort.<lambda>>, metadata=mappingproxy({}))

labgrid.resource.remote module

class labgrid.resource.remote.RemotePlaceManager[source]

Bases: labgrid.resource.common.ResourceManager

on_resource_added(resource)[source]
poll()[source]
class labgrid.resource.remote.RemotePlace(target, name)[source]

Bases: labgrid.resource.common.ManagedResource

manager_cls

alias of RemotePlaceManager

name = Attribute(name='name', default=NOTHING, validator=<instance_of validator for type <class 'str'>>, repr=True, cmp=True, hash=True, init=True, convert=None, metadata=mappingproxy({}))
class labgrid.resource.remote.RemoteUSBResource(target, host, busnum, devnum, path, vendor_id, model_id)[source]

Bases: labgrid.resource.common.NetworkResource, labgrid.resource.common.ManagedResource

manager_cls

alias of RemotePlaceManager

busnum = Attribute(name='busnum', default=NOTHING, validator=<optional validator for <instance_of validator for type <class 'int'>> or None>, repr=True, cmp=True, hash=True, init=True, convert=None, metadata=mappingproxy({}))
devnum = Attribute(name='devnum', default=NOTHING, validator=<optional validator for <instance_of validator for type <class 'int'>> or None>, repr=True, cmp=True, hash=True, init=True, convert=None, metadata=mappingproxy({}))
path = Attribute(name='path', default=NOTHING, validator=<optional validator for <instance_of validator for type <class 'str'>> or None>, repr=True, cmp=True, hash=True, init=True, convert=None, metadata=mappingproxy({}))
vendor_id = Attribute(name='vendor_id', default=NOTHING, validator=<optional validator for <instance_of validator for type <class 'int'>> or None>, repr=True, cmp=True, hash=True, init=True, convert=None, metadata=mappingproxy({}))
model_id = Attribute(name='model_id', default=NOTHING, validator=<optional validator for <instance_of validator for type <class 'int'>> or None>, repr=True, cmp=True, hash=True, init=True, convert=None, metadata=mappingproxy({}))
class labgrid.resource.remote.NetworkAndroidFastboot(target, host, busnum, devnum, path, vendor_id, model_id)[source]

Bases: labgrid.resource.remote.RemoteUSBResource

class labgrid.resource.remote.NetworkIMXUSBLoader(target, host, busnum, devnum, path, vendor_id, model_id)[source]

Bases: labgrid.resource.remote.RemoteUSBResource

class labgrid.resource.remote.NetworkMXSUSBLoader(target, host, busnum, devnum, path, vendor_id, model_id)[source]

Bases: labgrid.resource.remote.RemoteUSBResource

class labgrid.resource.remote.NetworkAlteraUSBBlaster(target, host, busnum, devnum, path, vendor_id, model_id)[source]

Bases: labgrid.resource.remote.RemoteUSBResource

labgrid.resource.serialport module

class labgrid.resource.serialport.RawSerialPort(target, port=None, speed=115200)[source]

Bases: labgrid.resource.base.SerialPort, labgrid.resource.common.Resource

RawSerialPort describes a serialport which is vailable on the local computer.

class labgrid.resource.serialport.NetworkSerialPort(target, host, port, speed=115200)[source]

Bases: labgrid.resource.common.NetworkResource

A NetworkSerialPort is a remotely accessable serialport, usually accessed via rfc2217.

Parameters:
  • port (str) – connection string to the port e.g. ‘rfc2217://<host>:<port>’
  • speed (int) – speed of the port e.g. 9800
port = Attribute(name='port', default=NOTHING, validator=<optional validator for <instance_of validator for type <class 'int'>> or None>, repr=True, cmp=True, hash=True, init=True, convert=None, metadata=mappingproxy({}))
speed = Attribute(name='speed', default=115200, validator=<instance_of validator for type <class 'int'>>, repr=True, cmp=True, hash=True, init=True, convert=None, metadata=mappingproxy({}))

labgrid.resource.udev module

class labgrid.resource.udev.UdevManager[source]

Bases: labgrid.resource.common.ResourceManager

on_resource_added(resource)[source]
poll()[source]
class labgrid.resource.udev.USBResource(target, match, device=None)[source]

Bases: labgrid.resource.common.ManagedResource

manager_cls

alias of UdevManager

match = Attribute(name='match', default=NOTHING, validator=<instance_of validator for type <class 'dict'>>, repr=True, cmp=True, hash=False, init=True, convert=None, metadata=mappingproxy({}))
device = Attribute(name='device', default=None, validator=None, repr=True, cmp=True, hash=False, init=True, convert=None, metadata=mappingproxy({}))
filter_match(device)[source]
try_match(device)[source]
update()[source]
busnum
devnum
path
vendor_id
model_id
read_attr(attribute)[source]

read uncached attribute value from sysfs

pyudev currently supports only cached access to attributes, so we read directly from sysfs.

class labgrid.resource.udev.USBSerialPort(target, match, device=None, port=None, speed=115200)[source]

Bases: labgrid.resource.base.SerialPort, labgrid.resource.udev.USBResource

update()[source]
class labgrid.resource.udev.USBMassStorage(target, match, device=None)[source]

Bases: labgrid.resource.udev.USBResource

path
class labgrid.resource.udev.IMXUSBLoader(target, match, device=None)[source]

Bases: labgrid.resource.udev.USBResource

filter_match(device)[source]
class labgrid.resource.udev.MXSUSBLoader(target, match, device=None)[source]

Bases: labgrid.resource.udev.USBResource

filter_match(device)[source]
class labgrid.resource.udev.AndroidFastboot(target, match, device=None)[source]

Bases: labgrid.resource.udev.USBResource

filter_match(device)[source]
class labgrid.resource.udev.USBEthernetInterface(target, match, device=None, ifname=None)[source]

Bases: labgrid.resource.base.EthernetInterface, labgrid.resource.udev.USBResource

update()[source]
if_state
class labgrid.resource.udev.AlteraUSBBlaster(target, match, device=None)[source]

Bases: labgrid.resource.udev.USBResource

filter_match(device)[source]