← Back to packages

Package intrinsic_proto.gpio.v1

Service GPIOService

Message GetSignalDescriptionsRequest

Message GetSignalDescriptionsResponse

Message InitialSessionData

Message Int8

Message OpenWriteSessionRequest

Message OpenWriteSessionResponse

Message ReadSignalsRequest

Message ReadSignalsResponse

Message SignalDescription

Message SignalValue

Message SignalValueSet

Message Uint8

Message WaitForValueRequest

Message WaitForValueResponse

Message WriteSignalsRequest

Enum SignalType

Services

service GPIOService intrinsic/hardware/gpio/v1/gpio_service.proto

Exposes GPIO for reading and writing.

Please note that we expect to substantially evolve this API in potentially incompatible ways in subsequent releases. Since the resource-selection logic in skills does not have the ability to pattern match against available signals, it's very easy to inadvertently bind the wrong GPIO resource ot a skill

Blocks until the specified condition is met. Set the gRPC deadline if you do not want the request to block for too long. Implementations must monitor the server context for cancellation, and abort immediately if cancelled.

Starts a write session. The claimed signals will be exclusively available for writing by this session for the duration of the stream.

Every sent message will receive a corresponding response, containing a status for the message's request.

Messages

message GetSignalDescriptionsRequest intrinsic/hardware/gpio/v1/gpio_service.proto

Field Type Description

message GetSignalDescriptionsResponse intrinsic/hardware/gpio/v1/gpio_service.proto

Field Type Description
1 signal_descriptions repeated intrinsic_proto.gpio.v1.SignalDescription

The signal descriptions for all signals on the server.

message InitialSessionData (Nested in intrinsic_proto.gpio.v1.OpenWriteSessionRequest ) intrinsic/hardware/gpio/v1/gpio_service.proto

Field Type Description
1 signal_names repeated string

The signal names to claim in this session.

message Int8 intrinsic/hardware/gpio/v1/signal.proto

8-bit signed type.

Field Type Description
1 value int32

Valid values are in the range [-128, 127].

message OpenWriteSessionRequest intrinsic/hardware/gpio/v1/gpio_service.proto

Field Type Description
1 initial_session_data intrinsic_proto.gpio.v1.OpenWriteSessionRequest.InitialSessionData

Initial data for opening a session that must be sent with the first OpenWriteSessionRequest. If this field is specified in later requests or unspecified in the initial request, the session is closed and an error is returned in the call status.

oneof action_request
2 write_signals intrinsic_proto.gpio.v1.WriteSignalsRequest

Request a write.

message OpenWriteSessionResponse intrinsic/hardware/gpio/v1/gpio_service.proto

Field Type Description
1 status google.rpc.Status

Returns an aborted error if the session should end. May return other errors for non-session-ending failures.

message ReadSignalsRequest intrinsic/hardware/gpio/v1/gpio_service.proto

Field Type Description
1 signal_names repeated string

The names of the signals to read.

message ReadSignalsResponse intrinsic/hardware/gpio/v1/gpio_service.proto

Field Type Description
1 signal_values intrinsic_proto.gpio.v1.SignalValueSet

The values of the signals that were read.

message SignalDescription intrinsic/hardware/gpio/v1/signal.proto

SignalDescription represents a single signal as known by the server. Callers should expect the values in a SignalDescription to be stable for the lifetime of the server and any underlying services.

Field Type Description
1 signal_name string

The name to use to refer to this signal using the GPIOService API.

By convention, IO blocks that contain multiple signals typically use names like workcell_outputs.0, workcell_outputs.1, where the number represents the index of the corresponding bit.

2 can_read bool

If true, then callers can read the value of this signal.

3 can_write bool

If true, then callers can write this signal's value.

4 can_force bool

If true, then callers can force this signal's value.

Force methods are not yet available, so this value is always false.

5 type intrinsic_proto.gpio.v1.SignalType

The type of the signal.

6 pubsub_topic_name string

The name of the PubSub topic this signal's value is published to.

7 description string

Optional human readable description of the signal.

8 alternate_signal_names repeated string

Alternative names used to reference signals using the GPIOService API.

Some GPIO service implementations allow signals to be referenced by additional IDs (e.g., OpcuaGPIOService). Those implementations should populate this field with additional IDs for this signal.

message SignalValue intrinsic/hardware/gpio/v1/signal.proto

SignalValue represents the value of a single GPIO signal.

Field Type Description
oneof value
1 bool_value bool
2 unsigned_int_value uint32
3 int_value int32
4 float_value float
5 double_value double
6 int8_value intrinsic_proto.gpio.v1.Int8
7 unsigned_int8_value intrinsic_proto.gpio.v1.Uint8

message SignalValueSet intrinsic/hardware/gpio/v1/signal.proto

SignalValueSet represents the value of a collection of GPIO signals.

Field Type Description
1 values map<string, SignalValue>

message Uint8 intrinsic/hardware/gpio/v1/signal.proto

8-bit unsigned type.

Field Type Description
1 value uint32

Valid values are in the range [0, 255].

message WaitForValueRequest intrinsic/hardware/gpio/v1/gpio_service.proto

Field Type Description
oneof condition
1 all_of intrinsic_proto.gpio.v1.SignalValueSet

Wait until all values in this set are matched.

2 any_of intrinsic_proto.gpio.v1.SignalValueSet

Wait until any values in this set are matched.

message WaitForValueResponse intrinsic/hardware/gpio/v1/gpio_service.proto

Field Type Description
1 values intrinsic_proto.gpio.v1.SignalValueSet

The values of the signals when the condition was met.

2 event_time google.protobuf.Timestamp

When the condition was first met, in server time.

message WriteSignalsRequest intrinsic/hardware/gpio/v1/gpio_service.proto

Field Type Description
1 signal_values intrinsic_proto.gpio.v1.SignalValueSet

The values to write.

Enums

enum SignalType intrinsic/hardware/gpio/v1/signal.proto

SignalType represents the type of a GPIO signal.

Name Number Description
SIGNAL_TYPE_UNKNOWN 0
SIGNAL_TYPE_BOOL 1
SIGNAL_TYPE_UNSIGNED_INT 2
SIGNAL_TYPE_INT 3
SIGNAL_TYPE_FLOAT 4
SIGNAL_TYPE_DOUBLE 5
SIGNAL_TYPE_INT8 6
SIGNAL_TYPE_UNSIGNED_INT8 7