Import Description¶
The import description is used to filter Places registered in the board farm. The Agent uses this import description to reserve one of the matching Places. A Place matches, when all parts match. A part matches, when:
the tags in “compatible” are a subset of the exported part
the USB and TCP interfaces are a subset of the exported interfaces (matched by
<if-name>)
Settings¶
auto_return_time¶
Type: String
Required: No
Default: "10h"
Delay after which the reservation is automatically returned. The timer is reset
after editing the import description with the not-my-board edit command. The
time format uses a sequence of positive integers followed by lowercase time
units:
Unit |
Description |
|---|---|
|
weeks |
|
days |
|
hours |
|
minutes |
|
seconds (optional) |
Units must appear in descending order of significance (e.g. weeks before days).
A delay of 0 disables the auto return.
Examples:
600: 600 seconds or 10 minutes10m: 10 minutes1h30m: 1 hour 30 minutes (90 minutes)
parts¶
Type: Table
Required: Yes
Holds all parts, that are expected to be part of a Place.
parts.<part-name>¶
Type: Table
Required: Yes
Describes one of the parts, that is expected to be part of a Place.
<part-name> is a free-form string and is only used locally, e.g. in the output
of the not-my-board status command.
parts.<parts-name>.compatible¶
Type: Array of strings
Required: Yes
List of tags, that describe this part. Tags are free-form strings.
Tags are used for filtering Places, so they should be defined and agreed upon by every participant of the board farm.
parts.<part-name>.tcp¶
Type: Table
Required: No
Optional table to request exported TCP ports. Contains zero or more elements.
parts.<part-name>.tcp.<if-name>¶
Type: Table
Required: No
Requests one exported TCP port. <if-name> is a free-form string.
<if-name>s are used for filtering Places, so they should be defined and
agreed upon by every participant of the board farm.
parts.<part-name>.tcp.<if-name>.local_port¶
Type: Number
Required: Yes
Configures the Agent to listen on that port on localhost. Connections to
that port are forwarded to the exported TCP port with the matching <if-name>.
Must be a valid TCP port.
parts.<part-name>.usb¶
Type: Table
Required: No
Optional table to request exported USB ports. Contains zero or more elements.
parts.<part-name>.usb.<if-name>¶
Type: Table
Required: No
Request one exported USB port. <if-name> is a free-form string.
<if-name>s are used for filtering Places, so they should be defined and
agreed upon by every participant of the board farm.
parts.<part-name>.usb.<if-name>.port_num¶
Type: Number
Required: Yes
Specifies the local virtual USB port number to which the remote USB device will
be attached. With the default Kernel configuration, there are 8 ports available
(values from 0 to 7). Together with the speed of the imported device (High
Speed (USB 2.0) or Super Speed (USB 3.0)) the appropriate USB port is selected.
On a given host, the USB port will always be the same, if the device speed and
port_num value are the same. With that guarantee, consistent device manager
rules (e.g. udev rules) can be created.
Only one device can be attached to one port. Choose unique port_num values for
each import description.
Example¶
Here’s an example of an import description:
[parts.pi]
compatible = [ "raspberry-pi" ]
usb.usb0 = { port_num = 0 }
usb.serial = { port_num = 1 }
[parts.power]
compatible = [ "my-power-supply" ]
tcp.scpi = { local_port = 5025 }