loop-sdk 0.1.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- loop_sdk/__init__.py +84 -0
- loop_sdk/gen/__init__.py +0 -0
- loop_sdk/gen/__init__.pyi +1 -0
- loop_sdk/gen/v1/__init__.py +0 -0
- loop_sdk/gen/v1/__init__.pyi +1 -0
- loop_sdk/gen/v1/source_ingest_pb2.py +132 -0
- loop_sdk/gen/v1/source_ingest_pb2.pyi +466 -0
- loop_sdk/gen/v1/source_ingest_pb2_grpc.py +288 -0
- loop_sdk/source/__init__.py +0 -0
- loop_sdk/source/client.py +123 -0
- loop_sdk/source/consumer.py +54 -0
- loop_sdk/source/domain/__init__.py +0 -0
- loop_sdk/source/domain/config.py +61 -0
- loop_sdk/source/domain/frame.py +108 -0
- loop_sdk/source/domain/schema.py +193 -0
- loop_sdk/source/domain/source_exception.py +48 -0
- loop_sdk/source/domain/source_kind.py +18 -0
- loop_sdk/source/domain/stats.py +22 -0
- loop_sdk/source/outbound/__init__.py +0 -0
- loop_sdk/source/outbound/frame_queue.py +85 -0
- loop_sdk/source/outbound/grpc_source_client.py +360 -0
- loop_sdk/source/outbound/grpc_source_reader.py +82 -0
- loop_sdk/source/outbound/proto_mapping.py +239 -0
- loop_sdk/source/port/__init__.py +0 -0
- loop_sdk/source/port/source_client.py +49 -0
- loop_sdk/source/port/source_reader.py +34 -0
- loop_sdk/source/robot_step_sender.py +410 -0
- loop_sdk/source/service/__init__.py +0 -0
- loop_sdk/source/service/producer_session.py +81 -0
- loop_sdk/source/setup/__init__.py +0 -0
- loop_sdk/source/setup/config.py +30 -0
- loop_sdk-0.1.0.dist-info/METADATA +9 -0
- loop_sdk-0.1.0.dist-info/RECORD +34 -0
- loop_sdk-0.1.0.dist-info/WHEEL +4 -0
loop_sdk/__init__.py
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"""loop-sdk — customer-side client for the Loop Source Bus.
|
|
2
|
+
|
|
3
|
+
Two layers:
|
|
4
|
+
|
|
5
|
+
* **High level (start here):** ``RobotStepSender`` — connect, declare a channel
|
|
6
|
+
layout once, send one named-reading dict per tick, disconnect. One class, four
|
|
7
|
+
calls; it also handles robot config negotiation for you. Most control loops
|
|
8
|
+
want only this.
|
|
9
|
+
* **Low level (shared core):** ``SourceProducer`` / ``SourceConsumer`` and the
|
|
10
|
+
``source.*`` domain types — the gRPC handshake, streaming, reconnection, and
|
|
11
|
+
schema primitives the high-level sender is built on. Reach for these for a
|
|
12
|
+
non-robot source kind or fuller control of the stream.
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
from __future__ import annotations
|
|
16
|
+
|
|
17
|
+
from loop_sdk.source.client import SourceProducer
|
|
18
|
+
from loop_sdk.source.consumer import SourceConsumer
|
|
19
|
+
from loop_sdk.source.domain.config import (
|
|
20
|
+
OnSelectRobotConfig,
|
|
21
|
+
RobotConfig,
|
|
22
|
+
RobotConfigOptions,
|
|
23
|
+
)
|
|
24
|
+
from loop_sdk.source.domain.frame import (
|
|
25
|
+
MarkerFrame,
|
|
26
|
+
PolicyActionFrame,
|
|
27
|
+
RobotFrame,
|
|
28
|
+
RobotStateValue,
|
|
29
|
+
TactileChannelValue,
|
|
30
|
+
TactileFrame,
|
|
31
|
+
)
|
|
32
|
+
from loop_sdk.source.domain.schema import (
|
|
33
|
+
ChannelRole,
|
|
34
|
+
ChannelSpec,
|
|
35
|
+
MarkerStreamSchema,
|
|
36
|
+
RobotStreamSchema,
|
|
37
|
+
RotationType,
|
|
38
|
+
SourceSchema,
|
|
39
|
+
TactileChannelSpec,
|
|
40
|
+
TactileStreamSchema,
|
|
41
|
+
)
|
|
42
|
+
from loop_sdk.source.domain.source_exception import (
|
|
43
|
+
NotConnectedError,
|
|
44
|
+
SchemaMismatchError,
|
|
45
|
+
SourceError,
|
|
46
|
+
SubscriptionFailedError,
|
|
47
|
+
UnknownSourceError,
|
|
48
|
+
)
|
|
49
|
+
from loop_sdk.source.domain.source_kind import SourceKind
|
|
50
|
+
from loop_sdk.source.domain.stats import SendStats
|
|
51
|
+
from loop_sdk.source.robot_step_sender import RobotStepSender, flatten_step
|
|
52
|
+
from loop_sdk.source.setup.config import SourceConfig
|
|
53
|
+
|
|
54
|
+
__all__ = (
|
|
55
|
+
"ChannelRole",
|
|
56
|
+
"ChannelSpec",
|
|
57
|
+
"MarkerFrame",
|
|
58
|
+
"MarkerStreamSchema",
|
|
59
|
+
"NotConnectedError",
|
|
60
|
+
"OnSelectRobotConfig",
|
|
61
|
+
"PolicyActionFrame",
|
|
62
|
+
"RobotConfig",
|
|
63
|
+
"RobotConfigOptions",
|
|
64
|
+
"RobotFrame",
|
|
65
|
+
"RobotStateValue",
|
|
66
|
+
"RobotStepSender",
|
|
67
|
+
"RobotStreamSchema",
|
|
68
|
+
"RotationType",
|
|
69
|
+
"SchemaMismatchError",
|
|
70
|
+
"SendStats",
|
|
71
|
+
"SourceConfig",
|
|
72
|
+
"SourceConsumer",
|
|
73
|
+
"SourceError",
|
|
74
|
+
"SourceKind",
|
|
75
|
+
"SourceProducer",
|
|
76
|
+
"SourceSchema",
|
|
77
|
+
"SubscriptionFailedError",
|
|
78
|
+
"TactileChannelSpec",
|
|
79
|
+
"TactileChannelValue",
|
|
80
|
+
"TactileFrame",
|
|
81
|
+
"TactileStreamSchema",
|
|
82
|
+
"UnknownSourceError",
|
|
83
|
+
"flatten_step",
|
|
84
|
+
)
|
loop_sdk/gen/__init__.py
ADDED
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
from . import v1
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
from . import source_ingest_pb2
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
# -*- coding: utf-8 -*-
|
|
2
|
+
# Generated by the protocol buffer compiler. DO NOT EDIT!
|
|
3
|
+
# NO CHECKED-IN PROTOBUF GENCODE
|
|
4
|
+
# source: v1/source_ingest.proto
|
|
5
|
+
# Protobuf Python Version: 6.33.5
|
|
6
|
+
"""Generated protocol buffer code."""
|
|
7
|
+
from google.protobuf import descriptor as _descriptor
|
|
8
|
+
from google.protobuf import descriptor_pool as _descriptor_pool
|
|
9
|
+
from google.protobuf import runtime_version as _runtime_version
|
|
10
|
+
from google.protobuf import symbol_database as _symbol_database
|
|
11
|
+
from google.protobuf.internal import builder as _builder
|
|
12
|
+
_runtime_version.ValidateProtobufRuntimeVersion(
|
|
13
|
+
_runtime_version.Domain.PUBLIC,
|
|
14
|
+
6,
|
|
15
|
+
33,
|
|
16
|
+
5,
|
|
17
|
+
'',
|
|
18
|
+
'v1/source_ingest.proto'
|
|
19
|
+
)
|
|
20
|
+
# @@protoc_insertion_point(imports)
|
|
21
|
+
|
|
22
|
+
_sym_db = _symbol_database.Default()
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\x16v1/source_ingest.proto\x12\x19loop.foundation.source.v1\"\xc7\x03\n\x0b\x43lientEvent\x12\x11\n\tclient_id\x18\x01 \x01(\t\x12\x12\n\ncommand_id\x18\x02 \x01(\t\x12\x37\n\x05ready\x18\n \x01(\x0b\x32&.loop.foundation.source.v1.ClientReadyH\x00\x12H\n\x11source_discovered\x18\x0b \x01(\x0b\x32+.loop.foundation.source.v1.SourceDiscoveredH\x00\x12\x42\n\x0escan_completed\x18\x0c \x01(\x0b\x32(.loop.foundation.source.v1.ScanCompletedH\x00\x12M\n\x14stream_state_changed\x18\r \x01(\x0b\x32-.loop.foundation.source.v1.StreamStateChangedH\x00\x12\x39\n\theartbeat\x18\x0e \x01(\x0b\x32$.loop.foundation.source.v1.HeartbeatH\x00\x12\x37\n\x05\x65rror\x18\x0f \x01(\x0b\x32&.loop.foundation.source.v1.ClientErrorH\x00\x42\x07\n\x05\x65vent\"\x8d\x02\n\x0fRecorderCommand\x12\x12\n\ncommand_id\x18\x01 \x01(\t\x12\x37\n\x08\x64\x65scribe\x18\n \x01(\x0b\x32#.loop.foundation.source.v1.DescribeH\x00\x12\x36\n\x04open\x18\x0b \x01(\x0b\x32&.loop.foundation.source.v1.OpenCommandH\x00\x12\x31\n\x05\x63lose\x18\x0c \x01(\x0b\x32 .loop.foundation.source.v1.CloseH\x00\x12\x37\n\x08shutdown\x18\r \x01(\x0b\x32#.loop.foundation.source.v1.ShutdownH\x00\x42\t\n\x07\x63ommand\"\x1e\n\x0b\x43lientReady\x12\x0f\n\x07version\x18\x01 \x01(\t\"\n\n\x08\x44\x65scribe\"\xcd\x02\n\x0bOpenCommand\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x10\n\x08start_us\x18\x02 \x01(\x03\x12\x12\n\nsource_ids\x18\x03 \x03(\t\x12?\n\x07tactile\x18\n \x01(\x0b\x32,.loop.foundation.source.v1.TactileOpenParamsH\x00\x12;\n\x05robot\x18\x0b \x01(\x0b\x32*.loop.foundation.source.v1.RobotOpenParamsH\x00\x12=\n\x06marker\x18\x0c \x01(\x0b\x32+.loop.foundation.source.v1.MarkerOpenParamsH\x00\x12=\n\x06\x63\x61mera\x18\r \x01(\x0b\x32+.loop.foundation.source.v1.CameraOpenParamsH\x00\x42\x08\n\x06params\"@\n\x05\x43lose\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x0f\n\x07stop_us\x18\x02 \x01(\x03\x12\x12\n\nsource_ids\x18\x03 \x03(\t\"\x1a\n\x08Shutdown\x12\x0e\n\x06reason\x18\x01 \x01(\t\"a\n\rScanCompleted\x12\x18\n\x10\x64iscovered_count\x18\x01 \x01(\x05\x12\x36\n\x06\x65rrors\x18\x02 \x03(\x0b\x32&.loop.foundation.source.v1.ClientError\"!\n\tHeartbeat\x12\x14\n\x0cmonotonic_us\x18\x01 \x01(\x03\"?\n\x0b\x43lientError\x12\x0c\n\x04\x63ode\x18\x01 \x01(\t\x12\x0f\n\x07message\x18\x02 \x01(\t\x12\x11\n\tsource_id\x18\x03 \x01(\t\"\xc6\x01\n\x12StreamStateChanged\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x11\n\tsource_id\x18\x02 \x01(\t\x12\x35\n\x05state\x18\x03 \x01(\x0e\x32&.loop.foundation.source.v1.StreamState\x12\x0e\n\x06\x64\x65tail\x18\x04 \x01(\t\x12\x37\n\x05robot\x18\x05 \x01(\x0b\x32&.loop.foundation.source.v1.RobotConfigH\x00\x42\t\n\x07\x61pplied\"\xe3\x02\n\x10SourceDiscovered\x12\x11\n\tsource_id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x12\x0c\n\x04path\x18\x03 \x01(\t\x12\x45\n\x07tactile\x18\n \x01(\x0b\x32\x32.loop.foundation.source.v1.TactileSourceDescriptorH\x00\x12\x41\n\x05robot\x18\x0b \x01(\x0b\x32\x30.loop.foundation.source.v1.RobotSourceDescriptorH\x00\x12\x43\n\x06marker\x18\x0c \x01(\x0b\x32\x31.loop.foundation.source.v1.MarkerSourceDescriptorH\x00\x12\x43\n\x06\x63\x61mera\x18\r \x01(\x0b\x32\x31.loop.foundation.source.v1.CameraSourceDescriptorH\x00\x42\x0c\n\ndescriptor\"`\n\x17TactileSourceDescriptor\x12\x45\n\x08\x63hannels\x18\x01 \x03(\x0b\x32\x33.loop.foundation.source.v1.TactileChannelDescriptor\"c\n\x18TactileChannelDescriptor\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05label\x18\x02 \x01(\t\x12\x15\n\rsample_format\x18\x03 \x01(\t\x12\x14\n\x0csample_count\x18\x04 \x01(\x05\"\xa6\x01\n\x15RobotSourceDescriptor\x12\x43\n\x08\x63hannels\x18\x01 \x03(\x0b\x32\x31.loop.foundation.source.v1.RobotChannelDescriptor\x12H\n\x11\x61vailable_options\x18\x02 \x01(\x0b\x32-.loop.foundation.source.v1.RobotConfigOptions\"\xd6\x01\n\x16RobotChannelDescriptor\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05label\x18\x02 \x01(\t\x12\x34\n\x04role\x18\x03 \x01(\x0e\x32&.loop.foundation.source.v1.ChannelRole\x12\x0c\n\x04unit\x18\x04 \x01(\t\x12>\n\x08rot_type\x18\x05 \x01(\x0e\x32,.loop.foundation.source.v1.RobotRotationType\x12\r\n\x05group\x18\x06 \x01(\t\x12\r\n\x05range\x18\x07 \x03(\x01\"\x18\n\x16MarkerSourceDescriptor\"\x9b\x01\n\x16\x43\x61meraSourceDescriptor\x12;\n\x04rtsp\x18\x01 \x01(\x0b\x32-.loop.foundation.source.v1.RtspCameraEndpoint\x12\x44\n\x12\x61vailable_settings\x18\x02 \x03(\x0b\x32(.loop.foundation.source.v1.CameraSetting\"^\n\x12RtspCameraEndpoint\x12\x0b\n\x03uri\x18\x01 \x01(\t\x12;\n\ttransport\x18\x02 \x01(\x0e\x32(.loop.foundation.source.v1.RtspTransport\"\xd1\x01\n\rCameraSetting\x12?\n\nresolution\x18\x01 \x01(\x0b\x32+.loop.foundation.source.v1.CameraResolution\x12\x0b\n\x03\x66ps\x18\x02 \x01(\x01\x12\x42\n\x0cpixel_format\x18\x03 \x01(\x0e\x32,.loop.foundation.source.v1.CameraPixelFormat\x12\x17\n\x0fhorizontal_flip\x18\x04 \x01(\x08\x12\x15\n\rvertical_flip\x18\x05 \x01(\x08\"1\n\x10\x43\x61meraResolution\x12\r\n\x05width\x18\x01 \x01(\x05\x12\x0e\n\x06height\x18\x02 \x01(\x05\"\xe2\x02\n\x0bRobotConfig\x12\x12\n\ncontrol_hz\x18\x01 \x01(\x05\x12\x14\n\x0c\x61\x63tion_space\x18\x02 \x01(\t\x12\x19\n\x0cgripper_type\x18\x03 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x66inger_type\x18\x04 \x01(\tH\x01\x88\x01\x01\x12\x17\n\nrobot_type\x18\x05 \x01(\tH\x02\x88\x01\x01\x12#\n\x16robot_firmware_version\x18\x06 \x01(\tH\x03\x88\x01\x01\x12\"\n\x15teleoperation_version\x18\t \x01(\tH\x04\x88\x01\x01\x42\x0f\n\r_gripper_typeB\x0e\n\x0c_finger_typeB\r\n\x0b_robot_typeB\x19\n\x17_robot_firmware_versionB\x18\n\x16_teleoperation_versionJ\x04\x08\x07\x10\x08J\x04\x08\x08\x10\tR\x14robot_server_versionR\x0brci_version\"\xeb\x01\n\x12RobotConfigOptions\x12\x12\n\ncontrol_hz\x18\x01 \x03(\x05\x12\x14\n\x0c\x61\x63tion_space\x18\x02 \x03(\t\x12\x14\n\x0cgripper_type\x18\x03 \x03(\t\x12\x13\n\x0b\x66inger_type\x18\x04 \x03(\t\x12\x12\n\nrobot_type\x18\x05 \x03(\t\x12\x1e\n\x16robot_firmware_version\x18\x06 \x03(\t\x12\x1d\n\x15teleoperation_version\x18\t \x03(\tJ\x04\x08\x07\x10\x08J\x04\x08\x08\x10\tR\x14robot_server_versionR\x0brci_version\"\x13\n\x11TactileOpenParams\"S\n\x0fRobotOpenParams\x12@\n\x10requested_config\x18\x01 \x01(\x0b\x32&.loop.foundation.source.v1.RobotConfig\"\x12\n\x10MarkerOpenParams\"W\n\x10\x43\x61meraOpenParams\x12\x43\n\x11requested_setting\x18\x01 \x01(\x0b\x32(.loop.foundation.source.v1.CameraSetting\"h\n\x0bSampleBatch\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x11\n\tsource_id\x18\x02 \x01(\t\x12\x32\n\x07samples\x18\x03 \x03(\x0b\x32!.loop.foundation.source.v1.Sample\"\xb8\x02\n\x06Sample\x12\x14\n\x0ctimestamp_us\x18\x01 \x01(\x03\x12\x10\n\x08sequence\x18\x02 \x01(\x04\x12<\n\x07tactile\x18\n \x01(\x0b\x32).loop.foundation.source.v1.TactilePayloadH\x00\x12\x38\n\x05robot\x18\x0b \x01(\x0b\x32\'.loop.foundation.source.v1.RobotPayloadH\x00\x12:\n\x06marker\x18\x0c \x01(\x0b\x32(.loop.foundation.source.v1.MarkerPayloadH\x00\x12G\n\rpolicy_action\x18\r \x01(\x0b\x32..loop.foundation.source.v1.PolicyActionPayloadH\x00\x42\t\n\x07payload\"S\n\x0eTactilePayload\x12\x41\n\x08\x63hannels\x18\x01 \x03(\x0b\x32/.loop.foundation.source.v1.TactileChannelSample\"D\n\x14TactileChannelSample\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x0b\n\x03raw\x18\x02 \x01(\x0c\x12\x12\n\nvalues_i16\x18\x03 \x03(\x05\"\xb4\x01\n\x0cRobotPayload\x12\x41\n\x05state\x18\x02 \x03(\x0b\x32\x32.loop.foundation.source.v1.RobotPayload.StateEntry\x1aS\n\nStateEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x34\n\x05value\x18\x02 \x01(\x0b\x32%.loop.foundation.source.v1.RobotValue:\x02\x38\x01J\x04\x08\x01\x10\x02R\x06values\"\xa3\x01\n\nRobotValue\x12\x10\n\x06scalar\x18\x01 \x01(\x01H\x00\x12\x37\n\x05\x61rray\x18\x02 \x01(\x0b\x32&.loop.foundation.source.v1.DoubleArrayH\x00\x12\x13\n\tint_value\x18\x03 \x01(\x03H\x00\x12\x14\n\nbool_value\x18\x04 \x01(\x08H\x00\x12\x16\n\x0cstring_value\x18\x05 \x01(\tH\x00\x42\x07\n\x05value\"\x1d\n\x0b\x44oubleArray\x12\x0e\n\x06values\x18\x01 \x03(\x01\"\xe3\x01\n\x13PolicyActionPayload\x12>\n\x07\x61\x63tions\x18\x01 \x03(\x0b\x32-.loop.foundation.source.v1.PolicyActionVector\x12\'\n\x1ainput_sample_set_source_id\x18\x02 \x01(\tH\x00\x88\x01\x01\x12&\n\x19input_sample_set_sequence\x18\x03 \x01(\x03H\x01\x88\x01\x01\x42\x1d\n\x1b_input_sample_set_source_idB\x1c\n\x1a_input_sample_set_sequence\"$\n\x12PolicyActionVector\x12\x0e\n\x06values\x18\x01 \x03(\x01\"0\n\rMarkerPayload\x12\r\n\x05label\x18\x01 \x01(\t\x12\x10\n\x08\x63\x61tegory\x18\x02 \x01(\t\"E\n\x15StreamSamplesResponse\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x18\n\x10\x61\x63\x63\x65pted_samples\x18\x02 \x01(\x04\"9\n\x10SubscribeRequest\x12\x11\n\tsource_id\x18\x01 \x01(\t\x12\x12\n\nsession_id\x18\x02 \x01(\t\"\x8e\x01\n\x0eSubscribeEvent\x12\x33\n\x06sample\x18\x01 \x01(\x0b\x32!.loop.foundation.source.v1.SampleH\x00\x12>\n\x05state\x18\x02 \x01(\x0b\x32-.loop.foundation.source.v1.StreamStateChangedH\x00\x42\x07\n\x05\x65vent*x\n\x0bStreamState\x12\x1c\n\x18STREAM_STATE_UNSPECIFIED\x10\x00\x12\x18\n\x14STREAM_STATE_STARTED\x10\x01\x12\x18\n\x14STREAM_STATE_STOPPED\x10\x02\x12\x17\n\x13STREAM_STATE_FAILED\x10\x03*X\n\x0b\x43hannelRole\x12\x1c\n\x18\x43HANNEL_ROLE_UNSPECIFIED\x10\x00\x12\x15\n\x11\x43HANNEL_ROLE_CORE\x10\x01\x12\x14\n\x10\x43HANNEL_ROLE_AUX\x10\x02*\xa0\x01\n\x11RobotRotationType\x12#\n\x1fROBOT_ROTATION_TYPE_UNSPECIFIED\x10\x00\x12\"\n\x1eROBOT_ROTATION_TYPE_QUATERNION\x10\x01\x12\x1d\n\x19ROBOT_ROTATION_TYPE_EULER\x10\x02\x12#\n\x1fROBOT_ROTATION_TYPE_ROTATION_6D\x10\x03*_\n\rRtspTransport\x12\x1e\n\x1aRTSP_TRANSPORT_UNSPECIFIED\x10\x00\x12\x16\n\x12RTSP_TRANSPORT_TCP\x10\x01\x12\x16\n\x12RTSP_TRANSPORT_UDP\x10\x02*\x90\x02\n\x11\x43\x61meraPixelFormat\x12#\n\x1f\x43\x41MERA_PIXEL_FORMAT_UNSPECIFIED\x10\x00\x12\x1d\n\x19\x43\x41MERA_PIXEL_FORMAT_MJPEG\x10\x01\x12\x1c\n\x18\x43\x41MERA_PIXEL_FORMAT_YUYV\x10\x02\x12\x1c\n\x18\x43\x41MERA_PIXEL_FORMAT_UYVY\x10\x03\x12\x1d\n\x19\x43\x41MERA_PIXEL_FORMAT_RGB24\x10\x04\x12\x1d\n\x19\x43\x41MERA_PIXEL_FORMAT_BGR24\x10\x05\x12\x1c\n\x18\x43\x41MERA_PIXEL_FORMAT_H264\x10\x06\x12\x1f\n\x1b\x43\x41MERA_PIXEL_FORMAT_UNKNOWN\x10\x07\x32\xe5\x01\n\x13SourceIngestService\x12\x61\n\x07\x43onnect\x12&.loop.foundation.source.v1.ClientEvent\x1a*.loop.foundation.source.v1.RecorderCommand(\x01\x30\x01\x12k\n\rStreamSamples\x12&.loop.foundation.source.v1.SampleBatch\x1a\x30.loop.foundation.source.v1.StreamSamplesResponse(\x01\x32z\n\x11SourceReadService\x12\x65\n\tSubscribe\x12+.loop.foundation.source.v1.SubscribeRequest\x1a).loop.foundation.source.v1.SubscribeEvent0\x01\x62\x06proto3')
|
|
28
|
+
|
|
29
|
+
_globals = globals()
|
|
30
|
+
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
|
|
31
|
+
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'v1.source_ingest_pb2', _globals)
|
|
32
|
+
if not _descriptor._USE_C_DESCRIPTORS:
|
|
33
|
+
DESCRIPTOR._loaded_options = None
|
|
34
|
+
_globals['_ROBOTPAYLOAD_STATEENTRY']._loaded_options = None
|
|
35
|
+
_globals['_ROBOTPAYLOAD_STATEENTRY']._serialized_options = b'8\001'
|
|
36
|
+
_globals['_STREAMSTATE']._serialized_start=5502
|
|
37
|
+
_globals['_STREAMSTATE']._serialized_end=5622
|
|
38
|
+
_globals['_CHANNELROLE']._serialized_start=5624
|
|
39
|
+
_globals['_CHANNELROLE']._serialized_end=5712
|
|
40
|
+
_globals['_ROBOTROTATIONTYPE']._serialized_start=5715
|
|
41
|
+
_globals['_ROBOTROTATIONTYPE']._serialized_end=5875
|
|
42
|
+
_globals['_RTSPTRANSPORT']._serialized_start=5877
|
|
43
|
+
_globals['_RTSPTRANSPORT']._serialized_end=5972
|
|
44
|
+
_globals['_CAMERAPIXELFORMAT']._serialized_start=5975
|
|
45
|
+
_globals['_CAMERAPIXELFORMAT']._serialized_end=6247
|
|
46
|
+
_globals['_CLIENTEVENT']._serialized_start=54
|
|
47
|
+
_globals['_CLIENTEVENT']._serialized_end=509
|
|
48
|
+
_globals['_RECORDERCOMMAND']._serialized_start=512
|
|
49
|
+
_globals['_RECORDERCOMMAND']._serialized_end=781
|
|
50
|
+
_globals['_CLIENTREADY']._serialized_start=783
|
|
51
|
+
_globals['_CLIENTREADY']._serialized_end=813
|
|
52
|
+
_globals['_DESCRIBE']._serialized_start=815
|
|
53
|
+
_globals['_DESCRIBE']._serialized_end=825
|
|
54
|
+
_globals['_OPENCOMMAND']._serialized_start=828
|
|
55
|
+
_globals['_OPENCOMMAND']._serialized_end=1161
|
|
56
|
+
_globals['_CLOSE']._serialized_start=1163
|
|
57
|
+
_globals['_CLOSE']._serialized_end=1227
|
|
58
|
+
_globals['_SHUTDOWN']._serialized_start=1229
|
|
59
|
+
_globals['_SHUTDOWN']._serialized_end=1255
|
|
60
|
+
_globals['_SCANCOMPLETED']._serialized_start=1257
|
|
61
|
+
_globals['_SCANCOMPLETED']._serialized_end=1354
|
|
62
|
+
_globals['_HEARTBEAT']._serialized_start=1356
|
|
63
|
+
_globals['_HEARTBEAT']._serialized_end=1389
|
|
64
|
+
_globals['_CLIENTERROR']._serialized_start=1391
|
|
65
|
+
_globals['_CLIENTERROR']._serialized_end=1454
|
|
66
|
+
_globals['_STREAMSTATECHANGED']._serialized_start=1457
|
|
67
|
+
_globals['_STREAMSTATECHANGED']._serialized_end=1655
|
|
68
|
+
_globals['_SOURCEDISCOVERED']._serialized_start=1658
|
|
69
|
+
_globals['_SOURCEDISCOVERED']._serialized_end=2013
|
|
70
|
+
_globals['_TACTILESOURCEDESCRIPTOR']._serialized_start=2015
|
|
71
|
+
_globals['_TACTILESOURCEDESCRIPTOR']._serialized_end=2111
|
|
72
|
+
_globals['_TACTILECHANNELDESCRIPTOR']._serialized_start=2113
|
|
73
|
+
_globals['_TACTILECHANNELDESCRIPTOR']._serialized_end=2212
|
|
74
|
+
_globals['_ROBOTSOURCEDESCRIPTOR']._serialized_start=2215
|
|
75
|
+
_globals['_ROBOTSOURCEDESCRIPTOR']._serialized_end=2381
|
|
76
|
+
_globals['_ROBOTCHANNELDESCRIPTOR']._serialized_start=2384
|
|
77
|
+
_globals['_ROBOTCHANNELDESCRIPTOR']._serialized_end=2598
|
|
78
|
+
_globals['_MARKERSOURCEDESCRIPTOR']._serialized_start=2600
|
|
79
|
+
_globals['_MARKERSOURCEDESCRIPTOR']._serialized_end=2624
|
|
80
|
+
_globals['_CAMERASOURCEDESCRIPTOR']._serialized_start=2627
|
|
81
|
+
_globals['_CAMERASOURCEDESCRIPTOR']._serialized_end=2782
|
|
82
|
+
_globals['_RTSPCAMERAENDPOINT']._serialized_start=2784
|
|
83
|
+
_globals['_RTSPCAMERAENDPOINT']._serialized_end=2878
|
|
84
|
+
_globals['_CAMERASETTING']._serialized_start=2881
|
|
85
|
+
_globals['_CAMERASETTING']._serialized_end=3090
|
|
86
|
+
_globals['_CAMERARESOLUTION']._serialized_start=3092
|
|
87
|
+
_globals['_CAMERARESOLUTION']._serialized_end=3141
|
|
88
|
+
_globals['_ROBOTCONFIG']._serialized_start=3144
|
|
89
|
+
_globals['_ROBOTCONFIG']._serialized_end=3498
|
|
90
|
+
_globals['_ROBOTCONFIGOPTIONS']._serialized_start=3501
|
|
91
|
+
_globals['_ROBOTCONFIGOPTIONS']._serialized_end=3736
|
|
92
|
+
_globals['_TACTILEOPENPARAMS']._serialized_start=3738
|
|
93
|
+
_globals['_TACTILEOPENPARAMS']._serialized_end=3757
|
|
94
|
+
_globals['_ROBOTOPENPARAMS']._serialized_start=3759
|
|
95
|
+
_globals['_ROBOTOPENPARAMS']._serialized_end=3842
|
|
96
|
+
_globals['_MARKEROPENPARAMS']._serialized_start=3844
|
|
97
|
+
_globals['_MARKEROPENPARAMS']._serialized_end=3862
|
|
98
|
+
_globals['_CAMERAOPENPARAMS']._serialized_start=3864
|
|
99
|
+
_globals['_CAMERAOPENPARAMS']._serialized_end=3951
|
|
100
|
+
_globals['_SAMPLEBATCH']._serialized_start=3953
|
|
101
|
+
_globals['_SAMPLEBATCH']._serialized_end=4057
|
|
102
|
+
_globals['_SAMPLE']._serialized_start=4060
|
|
103
|
+
_globals['_SAMPLE']._serialized_end=4372
|
|
104
|
+
_globals['_TACTILEPAYLOAD']._serialized_start=4374
|
|
105
|
+
_globals['_TACTILEPAYLOAD']._serialized_end=4457
|
|
106
|
+
_globals['_TACTILECHANNELSAMPLE']._serialized_start=4459
|
|
107
|
+
_globals['_TACTILECHANNELSAMPLE']._serialized_end=4527
|
|
108
|
+
_globals['_ROBOTPAYLOAD']._serialized_start=4530
|
|
109
|
+
_globals['_ROBOTPAYLOAD']._serialized_end=4710
|
|
110
|
+
_globals['_ROBOTPAYLOAD_STATEENTRY']._serialized_start=4613
|
|
111
|
+
_globals['_ROBOTPAYLOAD_STATEENTRY']._serialized_end=4696
|
|
112
|
+
_globals['_ROBOTVALUE']._serialized_start=4713
|
|
113
|
+
_globals['_ROBOTVALUE']._serialized_end=4876
|
|
114
|
+
_globals['_DOUBLEARRAY']._serialized_start=4878
|
|
115
|
+
_globals['_DOUBLEARRAY']._serialized_end=4907
|
|
116
|
+
_globals['_POLICYACTIONPAYLOAD']._serialized_start=4910
|
|
117
|
+
_globals['_POLICYACTIONPAYLOAD']._serialized_end=5137
|
|
118
|
+
_globals['_POLICYACTIONVECTOR']._serialized_start=5139
|
|
119
|
+
_globals['_POLICYACTIONVECTOR']._serialized_end=5175
|
|
120
|
+
_globals['_MARKERPAYLOAD']._serialized_start=5177
|
|
121
|
+
_globals['_MARKERPAYLOAD']._serialized_end=5225
|
|
122
|
+
_globals['_STREAMSAMPLESRESPONSE']._serialized_start=5227
|
|
123
|
+
_globals['_STREAMSAMPLESRESPONSE']._serialized_end=5296
|
|
124
|
+
_globals['_SUBSCRIBEREQUEST']._serialized_start=5298
|
|
125
|
+
_globals['_SUBSCRIBEREQUEST']._serialized_end=5355
|
|
126
|
+
_globals['_SUBSCRIBEEVENT']._serialized_start=5358
|
|
127
|
+
_globals['_SUBSCRIBEEVENT']._serialized_end=5500
|
|
128
|
+
_globals['_SOURCEINGESTSERVICE']._serialized_start=6250
|
|
129
|
+
_globals['_SOURCEINGESTSERVICE']._serialized_end=6479
|
|
130
|
+
_globals['_SOURCEREADSERVICE']._serialized_start=6481
|
|
131
|
+
_globals['_SOURCEREADSERVICE']._serialized_end=6603
|
|
132
|
+
# @@protoc_insertion_point(module_scope)
|