Package intrinsic_proto.gpio.v1
Message
GetSignalDescriptionsRequest
Message
GetSignalDescriptionsResponse
Message
OpenWriteSessionRequest
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
rpc GetSignalDescriptions
Request: intrinsic_proto.gpio.v1.GetSignalDescriptionsRequest
Response:
intrinsic_proto.gpio.v1.GetSignalDescriptionsResponse
Returns metadata about the signals available on this server.
rpc ReadSignals
Request: intrinsic_proto.gpio.v1.ReadSignalsRequest
Response:
intrinsic_proto.gpio.v1.ReadSignalsResponse
Returns the values of the requested signals.
rpc WaitForValue
Request: intrinsic_proto.gpio.v1.WaitForValueRequest
Response:
intrinsic_proto.gpio.v1.WaitForValueResponse
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.
rpc OpenWriteSession
Request: intrinsic_proto.gpio.v1.OpenWriteSessionRequest
Response:
intrinsic_proto.gpio.v1.OpenWriteSessionResponse
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 |
| 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 |