text: # -*- coding: utf-8 -*-
  # Generated by the protocol buffer compiler.  DO NOT EDIT!
  # source: joint.proto
  """Generated protocol buffer code."""
  from google.protobuf.internal import enum_type_wrapper
  from google.protobuf import descriptor as _descriptor
  from google.protobuf import message as _message
  from google.protobuf import reflection as _reflection
  from google.protobuf import symbol_database as _symbol_database
  # @@protoc_insertion_point(imports)
  
  _sym_db = _symbol_database.Default()
  
  
  from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2
  from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2
  from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2
  
  
  DESCRIPTOR = _descriptor.FileDescriptor(
    name='joint.proto',
    package='reachy.sdk.joint',
    syntax='proto3',
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
    serialized_pb=b'\n\x0bjoint.proto\x12\x10reachy.sdk.joint\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1bgoogle/protobuf/empty.proto\"+\n\x08PIDGains\x12\t\n\x01p\x18\x01 \x01(\x02\x12\t\n\x01i\x18\x02 \x01(\x02\x12\t\n\x01\x64\x18\x03 \x01(\x02\"\x8f\x01\n\x15\x43omplianceMarginSlope\x12\x1c\n\x14\x63w_compliance_margin\x18\x01 \x01(\x02\x12\x1d\n\x15\x63\x63w_compliance_margin\x18\x02 \x01(\x02\x12\x1b\n\x13\x63w_compliance_slope\x18\x03 \x01(\x02\x12\x1c\n\x14\x63\x63w_compliance_slope\x18\x04 \x01(\x02\"}\n\x08PIDValue\x12)\n\x03pid\x18\x01 \x01(\x0b\x32\x1a.reachy.sdk.joint.PIDGainsH\x00\x12=\n\ncompliance\x18\x02 \x01(\x0b\x32\'.reachy.sdk.joint.ComplianceMarginSlopeH\x00\x42\x07\n\x05gains\".\n\x07JointId\x12\x0e\n\x04name\x18\x01 \x01(\tH\x00\x12\r\n\x03uid\x18\x02 \x01(\rH\x00\x42\x04\n\x02id\"\x86\x04\n\nJointState\x12\x0c\n\x04name\x18\x01 \x01(\t\x12)\n\x03uid\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.UInt32Value\x12\x35\n\x10present_position\x18\x03 \x01(\x0b\x32\x1b.google.protobuf.FloatValue\x12\x32\n\rpresent_speed\x18\x04 \x01(\x0b\x32\x1b.google.protobuf.FloatValue\x12\x31\n\x0cpresent_load\x18\x05 \x01(\x0b\x32\x1b.google.protobuf.FloatValue\x12\x30\n\x0btemperature\x18\x06 \x01(\x0b\x32\x1b.google.protobuf.FloatValue\x12-\n\tcompliant\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x32\n\rgoal_position\x18\x08 \x01(\x0b\x32\x1b.google.protobuf.FloatValue\x12\x30\n\x0bspeed_limit\x18\t \x01(\x0b\x32\x1b.google.protobuf.FloatValue\x12\x31\n\x0ctorque_limit\x18\n \x01(\x0b\x32\x1b.google.protobuf.FloatValue\x12\'\n\x03pid\x18\x0b \x01(\x0b\x32\x1a.reachy.sdk.joint.PIDValue\"\x92\x01\n\x0bJointsState\x12&\n\x03ids\x18\x01 \x03(\x0b\x32\x19.reachy.sdk.joint.JointId\x12,\n\x06states\x18\x02 \x03(\x0b\x32\x1c.reachy.sdk.joint.JointState\x12-\n\ttimestamp\x18\x0f \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\'\n\x08JointsId\x12\r\n\x05names\x18\x01 \x03(\t\x12\x0c\n\x04uids\x18\x02 \x03(\r\"\xa3\x01\n\x12JointsStateRequest\x12&\n\x03ids\x18\x01 \x03(\x0b\x32\x19.reachy.sdk.joint.JointId\x12\x36\n\x10requested_fields\x18\x02 \x03(\x0e\x32\x1c.reachy.sdk.joint.JointField\x12-\n\ttimestamp\x18\x0f \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\x96\x01\n\x13StreamJointsRequest\x12\x35\n\x07request\x18\x01 \x01(\x0b\x32$.reachy.sdk.joint.JointsStateRequest\x12\x19\n\x11publish_frequency\x18\x02 \x01(\x02\x12-\n\ttimestamp\x18\x0f \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"\xa6\x02\n\x0cJointCommand\x12%\n\x02id\x18\x01 \x01(\x0b\x32\x19.reachy.sdk.joint.JointId\x12-\n\tcompliant\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x32\n\rgoal_position\x18\x08 \x01(\x0b\x32\x1b.google.protobuf.FloatValue\x12\x30\n\x0bspeed_limit\x18\t \x01(\x0b\x32\x1b.google.protobuf.FloatValue\x12\x31\n\x0ctorque_limit\x18\n \x01(\x0b\x32\x1b.google.protobuf.FloatValue\x12\'\n\x03pid\x18\x0b \x01(\x0b\x32\x1a.reachy.sdk.joint.PIDValue\"p\n\rJointsCommand\x12\x30\n\x08\x63ommands\x18\x01 \x03(\x0b\x32\x1e.reachy.sdk.joint.JointCommand\x12-\n\ttimestamp\x18\x0f \x01(\x0b\x32\x1a.google.protobuf.Timestamp\"#\n\x10JointsCommandAck\x12\x0f\n\x07success\x18\x01 \x01(\x08*\xcc\x01\n\nJointField\x12\x08\n\x04NONE\x10\x00\x12\x08\n\x04NAME\x10\x01\x12\x07\n\x03UID\x10\x02\x12\x14\n\x10PRESENT_POSITION\x10\x03\x12\x11\n\rPRESENT_SPEED\x10\x04\x12\x10\n\x0cPRESENT_LOAD\x10\x05\x12\x0f\n\x0bTEMPERATURE\x10\x06\x12\r\n\tCOMPLIANT\x10\x07\x12\x11\n\rGOAL_POSITION\x10\x08\x12\x0f\n\x0bSPEED_LIMIT\x10\t\x12\x10\n\x0cTORQUE_LIMIT\x10\n\x12\x07\n\x03PID\x10\x0b\x12\x07\n\x03\x41LL\x10\x0f\x32\xc2\x03\n\x0cJointService\x12\x44\n\x0eGetAllJointsId\x12\x16.google.protobuf.Empty\x1a\x1a.reachy.sdk.joint.JointsId\x12U\n\x0eGetJointsState\x12$.reachy.sdk.joint.JointsStateRequest\x1a\x1d.reachy.sdk.joint.JointsState\x12[\n\x11StreamJointsState\x12%.reachy.sdk.joint.StreamJointsRequest\x1a\x1d.reachy.sdk.joint.JointsState0\x01\x12Y\n\x12SendJointsCommands\x12\x1f.reachy.sdk.joint.JointsCommand\x1a\".reachy.sdk.joint.JointsCommandAck\x12]\n\x14StreamJointsCommands\x12\x1f.reachy.sdk.joint.JointsCommand\x1a\".reachy.sdk.joint.JointsCommandAck(\x01\x62\x06proto3'
    ,
    dependencies=[google_dot_protobuf_dot_wrappers__pb2.DESCRIPTOR,google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,google_dot_protobuf_dot_empty__pb2.DESCRIPTOR,])
  
  _JOINTFIELD = _descriptor.EnumDescriptor(
    name='JointField',
    full_name='reachy.sdk.joint.JointField',
    filename=None,
    file=DESCRIPTOR,
    create_key=_descriptor._internal_create_key,
    values=[
      _descriptor.EnumValueDescriptor(
        name='NONE', index=0, number=0,
        serialized_options=None,
        type=None,
        create_key=_descriptor._internal_create_key),
      _descriptor.EnumValueDescriptor(
        name='NAME', index=1, number=1,
        serialized_options=None,
        type=None,
        create_key=_descriptor._internal_create_key),
      _descriptor.EnumValueDescriptor(
        name='UID', index=2, number=2,
        serialized_options=None,
        type=None,
        create_key=_descriptor._internal_create_key),
      _descriptor.EnumValueDescriptor(
        name='PRESENT_POSITION', index=3, number=3,
        serialized_options=None,
        type=None,
        create_key=_descriptor._internal_create_key),
      _descriptor.EnumValueDescriptor(
        name='PRESENT_SPEED', index=4, number=4,
        serialized_options=None,
        type=None,
        create_key=_descriptor._internal_create_key),
      _descriptor.EnumValueDescriptor(
        name='PRESENT_LOAD', index=5, number=5,
        serialized_options=None,
        type=None,
        create_key=_descriptor._internal_create_key),
      _descriptor.EnumValueDescriptor(
        name='TEMPERATURE', index=6, number=6,
        serialized_options=None,
        type=None,
        create_key=_descriptor._internal_create_key),
      _descriptor.EnumValueDescriptor(
        name='COMPLIANT', index=7, number=7,
        serialized_options=None,
        type=None,
        create_key=_descriptor._internal_create_key),
      _descriptor.EnumValueDescriptor(
        name='GOAL_POSITION', index=8, number=8,
        serialized_options=None,
        type=None,
        create_key=_descriptor._internal_create_key),
      _descriptor.EnumValueDescriptor(
        name='SPEED_LIMIT', index=9, number=9,
        serialized_options=None,
        type=None,
        create_key=_descriptor._internal_create_key),
      _descriptor.EnumValueDescriptor(
        name='TORQUE_LIMIT', index=10, number=10,
        serialized_options=None,
        type=None,
        create_key=_descriptor._internal_create_key),
      _descriptor.EnumValueDescriptor(
        name='PID', index=11, number=11,
        serialized_options=None,
        type=None,
        create_key=_descriptor._internal_create_key),
      _descriptor.EnumValueDescriptor(
        name='ALL', index=12, number=15,
        serialized_options=None,
        type=None,
        create_key=_descriptor._internal_create_key),
    ],
    containing_type=None,
    serialized_options=None,
    serialized_start=1972,
    serialized_end=2176,
  )
  _sym_db.RegisterEnumDescriptor(_JOINTFIELD)
  
  JointField = enum_type_wrapper.EnumTypeWrapper(_JOINTFIELD)
  NONE = 0
  NAME = 1
  UID = 2
  PRESENT_POSITION = 3
  PRESENT_SPEED = 4
  PRESENT_LOAD = 5
  TEMPERATURE = 6
  COMPLIANT = 7
  GOAL_POSITION = 8
  SPEED_LIMIT = 9
  TORQUE_LIMIT = 10
  PID = 11
  ALL = 15
  
  
  
  _PIDGAINS = _descriptor.Descriptor(
    name='PIDGains',
    full_name='reachy.sdk.joint.PIDGains',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    create_key=_descriptor._internal_create_key,
    fields=[
      _descriptor.FieldDescriptor(
        name='p', full_name='reachy.sdk.joint.PIDGains.p', index=0,
        number=1, type=2, cpp_type=6, label=1,
        has_default_value=False, default_value=float(0),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
      _descriptor.FieldDescriptor(
        name='i', full_name='reachy.sdk.joint.PIDGains.i', index=1,
        number=2, type=2, cpp_type=6, label=1,
        has_default_value=False, default_value=float(0),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
      _descriptor.FieldDescriptor(
        name='d', full_name='reachy.sdk.joint.PIDGains.d', index=2,
        number=3, type=2, cpp_type=6, label=1,
        has_default_value=False, default_value=float(0),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    serialized_options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=127,
    serialized_end=170,
  )
  
  
  _COMPLIANCEMARGINSLOPE = _descriptor.Descriptor(
    name='ComplianceMarginSlope',
    full_name='reachy.sdk.joint.ComplianceMarginSlope',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    create_key=_descriptor._internal_create_key,
    fields=[
      _descriptor.FieldDescriptor(
        name='cw_compliance_margin', full_name='reachy.sdk.joint.ComplianceMarginSlope.cw_compliance_margin', index=0,
        number=1, type=2, cpp_type=6, label=1,
        has_default_value=False, default_value=float(0),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
      _descriptor.FieldDescriptor(
        name='ccw_compliance_margin', full_name='reachy.sdk.joint.ComplianceMarginSlope.ccw_compliance_margin', index=1,
        number=2, type=2, cpp_type=6, label=1,
        has_default_value=False, default_value=float(0),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
      _descriptor.FieldDescriptor(
        name='cw_compliance_slope', full_name='reachy.sdk.joint.ComplianceMarginSlope.cw_compliance_slope', index=2,
        number=3, type=2, cpp_type=6, label=1,
        has_default_value=False, default_value=float(0),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
      _descriptor.FieldDescriptor(
        name='ccw_compliance_slope', full_name='reachy.sdk.joint.ComplianceMarginSlope.ccw_compliance_slope', index=3,
        number=4, type=2, cpp_type=6, label=1,
        has_default_value=False, default_value=float(0),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    serialized_options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=173,
    serialized_end=316,
  )
  
  
  _PIDVALUE = _descriptor.Descriptor(
    name='PIDValue',
    full_name='reachy.sdk.joint.PIDValue',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    create_key=_descriptor._internal_create_key,
    fields=[
      _descriptor.FieldDescriptor(
        name='pid', full_name='reachy.sdk.joint.PIDValue.pid', index=0,
        number=1, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
      _descriptor.FieldDescriptor(
        name='compliance', full_name='reachy.sdk.joint.PIDValue.compliance', index=1,
        number=2, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    serialized_options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
      _descriptor.OneofDescriptor(
        name='gains', full_name='reachy.sdk.joint.PIDValue.gains',
        index=0, containing_type=None,
        create_key=_descriptor._internal_create_key,
      fields=[]),
    ],
    serialized_start=318,
    serialized_end=443,
  )
  
  
  _JOINTID = _descriptor.Descriptor(
    name='JointId',
    full_name='reachy.sdk.joint.JointId',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    create_key=_descriptor._internal_create_key,
    fields=[
      _descriptor.FieldDescriptor(
        name='name', full_name='reachy.sdk.joint.JointId.name', index=0,
        number=1, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=b"".decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
      _descriptor.FieldDescriptor(
        name='uid', full_name='reachy.sdk.joint.JointId.uid', index=1,
        number=2, type=13, cpp_type=3, label=1,
        has_default_value=False, default_value=0,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    serialized_options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
      _descriptor.OneofDescriptor(
        name='id', full_name='reachy.sdk.joint.JointId.id',
        index=0, containing_type=None,
        create_key=_descriptor._internal_create_key,
      fields=[]),
    ],
    serialized_start=445,
    serialized_end=491,
  )
  
  
  _JOINTSTATE = _descriptor.Descriptor(
    name='JointState',
    full_name='reachy.sdk.joint.JointState',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    create_key=_descriptor._internal_create_key,
    fields=[
      _descriptor.FieldDescriptor(
        name='name', full_name='reachy.sdk.joint.JointState.name', index=0,
        number=1, type=9, cpp_type=9, label=1,
        has_default_value=False, default_value=b"".decode('utf-8'),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
      _descriptor.FieldDescriptor(
        name='uid', full_name='reachy.sdk.joint.JointState.uid', index=1,
        number=2, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
      _descriptor.FieldDescriptor(
        name='present_position', full_name='reachy.sdk.joint.JointState.present_position', index=2,
        number=3, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
      _descriptor.FieldDescriptor(
        name='present_speed', full_name='reachy.sdk.joint.JointState.present_speed', index=3,
        number=4, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
      _descriptor.FieldDescriptor(
        name='present_load', full_name='reachy.sdk.joint.JointState.present_load', index=4,
        number=5, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
      _descriptor.FieldDescriptor(
        name='temperature', full_name='reachy.sdk.joint.JointState.temperature', index=5,
        number=6, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
      _descriptor.FieldDescriptor(
        name='compliant', full_name='reachy.sdk.joint.JointState.compliant', index=6,
        number=7, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
      _descriptor.FieldDescriptor(
        name='goal_position', full_name='reachy.sdk.joint.JointState.goal_position', index=7,
        number=8, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
      _descriptor.FieldDescriptor(
        name='speed_limit', full_name='reachy.sdk.joint.JointState.speed_limit', index=8,
        number=9, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
      _descriptor.FieldDescriptor(
        name='torque_limit', full_name='reachy.sdk.joint.JointState.torque_limit', index=9,
        number=10, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
      _descriptor.FieldDescriptor(
        name='pid', full_name='reachy.sdk.joint.JointState.pid', index=10,
        number=11, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    serialized_options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=494,
    serialized_end=1012,
  )
  
  
  _JOINTSSTATE = _descriptor.Descriptor(
    name='JointsState',
    full_name='reachy.sdk.joint.JointsState',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    create_key=_descriptor._internal_create_key,
    fields=[
      _descriptor.FieldDescriptor(
        name='ids', full_name='reachy.sdk.joint.JointsState.ids', index=0,
        number=1, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
      _descriptor.FieldDescriptor(
        name='states', full_name='reachy.sdk.joint.JointsState.states', index=1,
        number=2, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
      _descriptor.FieldDescriptor(
        name='timestamp', full_name='reachy.sdk.joint.JointsState.timestamp', index=2,
        number=15, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    serialized_options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=1015,
    serialized_end=1161,
  )
  
  
  _JOINTSID = _descriptor.Descriptor(
    name='JointsId',
    full_name='reachy.sdk.joint.JointsId',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    create_key=_descriptor._internal_create_key,
    fields=[
      _descriptor.FieldDescriptor(
        name='names', full_name='reachy.sdk.joint.JointsId.names', index=0,
        number=1, type=9, cpp_type=9, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
      _descriptor.FieldDescriptor(
        name='uids', full_name='reachy.sdk.joint.JointsId.uids', index=1,
        number=2, type=13, cpp_type=3, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    serialized_options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=1163,
    serialized_end=1202,
  )
  
  
  _JOINTSSTATEREQUEST = _descriptor.Descriptor(
    name='JointsStateRequest',
    full_name='reachy.sdk.joint.JointsStateRequest',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    create_key=_descriptor._internal_create_key,
    fields=[
      _descriptor.FieldDescriptor(
        name='ids', full_name='reachy.sdk.joint.JointsStateRequest.ids', index=0,
        number=1, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
      _descriptor.FieldDescriptor(
        name='requested_fields', full_name='reachy.sdk.joint.JointsStateRequest.requested_fields', index=1,
        number=2, type=14, cpp_type=8, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
      _descriptor.FieldDescriptor(
        name='timestamp', full_name='reachy.sdk.joint.JointsStateRequest.timestamp', index=2,
        number=15, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    serialized_options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=1205,
    serialized_end=1368,
  )
  
  
  _STREAMJOINTSREQUEST = _descriptor.Descriptor(
    name='StreamJointsRequest',
    full_name='reachy.sdk.joint.StreamJointsRequest',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    create_key=_descriptor._internal_create_key,
    fields=[
      _descriptor.FieldDescriptor(
        name='request', full_name='reachy.sdk.joint.StreamJointsRequest.request', index=0,
        number=1, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
      _descriptor.FieldDescriptor(
        name='publish_frequency', full_name='reachy.sdk.joint.StreamJointsRequest.publish_frequency', index=1,
        number=2, type=2, cpp_type=6, label=1,
        has_default_value=False, default_value=float(0),
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
      _descriptor.FieldDescriptor(
        name='timestamp', full_name='reachy.sdk.joint.StreamJointsRequest.timestamp', index=2,
        number=15, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    serialized_options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=1371,
    serialized_end=1521,
  )
  
  
  _JOINTCOMMAND = _descriptor.Descriptor(
    name='JointCommand',
    full_name='reachy.sdk.joint.JointCommand',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    create_key=_descriptor._internal_create_key,
    fields=[
      _descriptor.FieldDescriptor(
        name='id', full_name='reachy.sdk.joint.JointCommand.id', index=0,
        number=1, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
      _descriptor.FieldDescriptor(
        name='compliant', full_name='reachy.sdk.joint.JointCommand.compliant', index=1,
        number=7, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
      _descriptor.FieldDescriptor(
        name='goal_position', full_name='reachy.sdk.joint.JointCommand.goal_position', index=2,
        number=8, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
      _descriptor.FieldDescriptor(
        name='speed_limit', full_name='reachy.sdk.joint.JointCommand.speed_limit', index=3,
        number=9, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
      _descriptor.FieldDescriptor(
        name='torque_limit', full_name='reachy.sdk.joint.JointCommand.torque_limit', index=4,
        number=10, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
      _descriptor.FieldDescriptor(
        name='pid', full_name='reachy.sdk.joint.JointCommand.pid', index=5,
        number=11, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    serialized_options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=1524,
    serialized_end=1818,
  )
  
  
  _JOINTSCOMMAND = _descriptor.Descriptor(
    name='JointsCommand',
    full_name='reachy.sdk.joint.JointsCommand',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    create_key=_descriptor._internal_create_key,
    fields=[
      _descriptor.FieldDescriptor(
        name='commands', full_name='reachy.sdk.joint.JointsCommand.commands', index=0,
        number=1, type=11, cpp_type=10, label=3,
        has_default_value=False, default_value=[],
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
      _descriptor.FieldDescriptor(
        name='timestamp', full_name='reachy.sdk.joint.JointsCommand.timestamp', index=1,
        number=15, type=11, cpp_type=10, label=1,
        has_default_value=False, default_value=None,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    serialized_options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=1820,
    serialized_end=1932,
  )
  
  
  _JOINTSCOMMANDACK = _descriptor.Descriptor(
    name='JointsCommandAck',
    full_name='reachy.sdk.joint.JointsCommandAck',
    filename=None,
    file=DESCRIPTOR,
    containing_type=None,
    create_key=_descriptor._internal_create_key,
    fields=[
      _descriptor.FieldDescriptor(
        name='success', full_name='reachy.sdk.joint.JointsCommandAck.success', index=0,
        number=1, type=8, cpp_type=7, label=1,
        has_default_value=False, default_value=False,
        message_type=None, enum_type=None, containing_type=None,
        is_extension=False, extension_scope=None,
        serialized_options=None, file=DESCRIPTOR,  create_key=_descriptor._internal_create_key),
    ],
    extensions=[
    ],
    nested_types=[],
    enum_types=[
    ],
    serialized_options=None,
    is_extendable=False,
    syntax='proto3',
    extension_ranges=[],
    oneofs=[
    ],
    serialized_start=1934,
    serialized_end=1969,
  )
  
  _PIDVALUE.fields_by_name['pid'].message_type = _PIDGAINS
  _PIDVALUE.fields_by_name['compliance'].message_type = _COMPLIANCEMARGINSLOPE
  _PIDVALUE.oneofs_by_name['gains'].fields.append(
    _PIDVALUE.fields_by_name['pid'])
  _PIDVALUE.fields_by_name['pid'].containing_oneof = _PIDVALUE.oneofs_by_name['gains']
  _PIDVALUE.oneofs_by_name['gains'].fields.append(
    _PIDVALUE.fields_by_name['compliance'])
  _PIDVALUE.fields_by_name['compliance'].containing_oneof = _PIDVALUE.oneofs_by_name['gains']
  _JOINTID.oneofs_by_name['id'].fields.append(
    _JOINTID.fields_by_name['name'])
  _JOINTID.fields_by_name['name'].containing_oneof = _JOINTID.oneofs_by_name['id']
  _JOINTID.oneofs_by_name['id'].fields.append(
    _JOINTID.fields_by_name['uid'])
  _JOINTID.fields_by_name['uid'].containing_oneof = _JOINTID.oneofs_by_name['id']
  _JOINTSTATE.fields_by_name['uid'].message_type = google_dot_protobuf_dot_wrappers__pb2._UINT32VALUE
  _JOINTSTATE.fields_by_name['present_position'].message_type = google_dot_protobuf_dot_wrappers__pb2._FLOATVALUE
  _JOINTSTATE.fields_by_name['present_speed'].message_type = google_dot_protobuf_dot_wrappers__pb2._FLOATVALUE
  _JOINTSTATE.fields_by_name['present_load'].message_type = google_dot_protobuf_dot_wrappers__pb2._FLOATVALUE
  _JOINTSTATE.fields_by_name['temperature'].message_type = google_dot_protobuf_dot_wrappers__pb2._FLOATVALUE
  _JOINTSTATE.fields_by_name['compliant'].message_type = google_dot_protobuf_dot_wrappers__pb2._BOOLVALUE
  _JOINTSTATE.fields_by_name['goal_position'].message_type = google_dot_protobuf_dot_wrappers__pb2._FLOATVALUE
  _JOINTSTATE.fields_by_name['speed_limit'].message_type = google_dot_protobuf_dot_wrappers__pb2._FLOATVALUE
  _JOINTSTATE.fields_by_name['torque_limit'].message_type = google_dot_protobuf_dot_wrappers__pb2._FLOATVALUE
  _JOINTSTATE.fields_by_name['pid'].message_type = _PIDVALUE
  _JOINTSSTATE.fields_by_name['ids'].message_type = _JOINTID
  _JOINTSSTATE.fields_by_name['states'].message_type = _JOINTSTATE
  _JOINTSSTATE.fields_by_name['timestamp'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
  _JOINTSSTATEREQUEST.fields_by_name['ids'].message_type = _JOINTID
  _JOINTSSTATEREQUEST.fields_by_name['requested_fields'].enum_type = _JOINTFIELD
  _JOINTSSTATEREQUEST.fields_by_name['timestamp'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
  _STREAMJOINTSREQUEST.fields_by_name['request'].message_type = _JOINTSSTATEREQUEST
  _STREAMJOINTSREQUEST.fields_by_name['timestamp'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
  _JOINTCOMMAND.fields_by_name['id'].message_type = _JOINTID
  _JOINTCOMMAND.fields_by_name['compliant'].message_type = google_dot_protobuf_dot_wrappers__pb2._BOOLVALUE
  _JOINTCOMMAND.fields_by_name['goal_position'].message_type = google_dot_protobuf_dot_wrappers__pb2._FLOATVALUE
  _JOINTCOMMAND.fields_by_name['speed_limit'].message_type = google_dot_protobuf_dot_wrappers__pb2._FLOATVALUE
  _JOINTCOMMAND.fields_by_name['torque_limit'].message_type = google_dot_protobuf_dot_wrappers__pb2._FLOATVALUE
  _JOINTCOMMAND.fields_by_name['pid'].message_type = _PIDVALUE
  _JOINTSCOMMAND.fields_by_name['commands'].message_type = _JOINTCOMMAND
  _JOINTSCOMMAND.fields_by_name['timestamp'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP
  DESCRIPTOR.message_types_by_name['PIDGains'] = _PIDGAINS
  DESCRIPTOR.message_types_by_name['ComplianceMarginSlope'] = _COMPLIANCEMARGINSLOPE
  DESCRIPTOR.message_types_by_name['PIDValue'] = _PIDVALUE
  DESCRIPTOR.message_types_by_name['JointId'] = _JOINTID
  DESCRIPTOR.message_types_by_name['JointState'] = _JOINTSTATE
  DESCRIPTOR.message_types_by_name['JointsState'] = _JOINTSSTATE
  DESCRIPTOR.message_types_by_name['JointsId'] = _JOINTSID
  DESCRIPTOR.message_types_by_name['JointsStateRequest'] = _JOINTSSTATEREQUEST
  DESCRIPTOR.message_types_by_name['StreamJointsRequest'] = _STREAMJOINTSREQUEST
  DESCRIPTOR.message_types_by_name['JointCommand'] = _JOINTCOMMAND
  DESCRIPTOR.message_types_by_name['JointsCommand'] = _JOINTSCOMMAND
  DESCRIPTOR.message_types_by_name['JointsCommandAck'] = _JOINTSCOMMANDACK
  DESCRIPTOR.enum_types_by_name['JointField'] = _JOINTFIELD
  _sym_db.RegisterFileDescriptor(DESCRIPTOR)
  
  PIDGains = _reflection.GeneratedProtocolMessageType('PIDGains', (_message.Message,), {
    'DESCRIPTOR' : _PIDGAINS,
    '__module__' : 'joint_pb2'
    # @@protoc_insertion_point(class_scope:reachy.sdk.joint.PIDGains)
    })
  _sym_db.RegisterMessage(PIDGains)
  
  ComplianceMarginSlope = _reflection.GeneratedProtocolMessageType('ComplianceMarginSlope', (_message.Message,), {
    'DESCRIPTOR' : _COMPLIANCEMARGINSLOPE,
    '__module__' : 'joint_pb2'
    # @@protoc_insertion_point(class_scope:reachy.sdk.joint.ComplianceMarginSlope)
    })
  _sym_db.RegisterMessage(ComplianceMarginSlope)
  
  PIDValue = _reflection.GeneratedProtocolMessageType('PIDValue', (_message.Message,), {
    'DESCRIPTOR' : _PIDVALUE,
    '__module__' : 'joint_pb2'
    # @@protoc_insertion_point(class_scope:reachy.sdk.joint.PIDValue)
    })
  _sym_db.RegisterMessage(PIDValue)
  
  JointId = _reflection.GeneratedProtocolMessageType('JointId', (_message.Message,), {
    'DESCRIPTOR' : _JOINTID,
    '__module__' : 'joint_pb2'
    # @@protoc_insertion_point(class_scope:reachy.sdk.joint.JointId)
    })
  _sym_db.RegisterMessage(JointId)
  
  JointState = _reflection.GeneratedProtocolMessageType('JointState', (_message.Message,), {
    'DESCRIPTOR' : _JOINTSTATE,
    '__module__' : 'joint_pb2'
    # @@protoc_insertion_point(class_scope:reachy.sdk.joint.JointState)
    })
  _sym_db.RegisterMessage(JointState)
  
  JointsState = _reflection.GeneratedProtocolMessageType('JointsState', (_message.Message,), {
    'DESCRIPTOR' : _JOINTSSTATE,
    '__module__' : 'joint_pb2'
    # @@protoc_insertion_point(class_scope:reachy.sdk.joint.JointsState)
    })
  _sym_db.RegisterMessage(JointsState)
  
  JointsId = _reflection.GeneratedProtocolMessageType('JointsId', (_message.Message,), {
    'DESCRIPTOR' : _JOINTSID,
    '__module__' : 'joint_pb2'
    # @@protoc_insertion_point(class_scope:reachy.sdk.joint.JointsId)
    })
  _sym_db.RegisterMessage(JointsId)
  
  JointsStateRequest = _reflection.GeneratedProtocolMessageType('JointsStateRequest', (_message.Message,), {
    'DESCRIPTOR' : _JOINTSSTATEREQUEST,
    '__module__' : 'joint_pb2'
    # @@protoc_insertion_point(class_scope:reachy.sdk.joint.JointsStateRequest)
    })
  _sym_db.RegisterMessage(JointsStateRequest)
  
  StreamJointsRequest = _reflection.GeneratedProtocolMessageType('StreamJointsRequest', (_message.Message,), {
    'DESCRIPTOR' : _STREAMJOINTSREQUEST,
    '__module__' : 'joint_pb2'
    # @@protoc_insertion_point(class_scope:reachy.sdk.joint.StreamJointsRequest)
    })
  _sym_db.RegisterMessage(StreamJointsRequest)
  
  JointCommand = _reflection.GeneratedProtocolMessageType('JointCommand', (_message.Message,), {
    'DESCRIPTOR' : _JOINTCOMMAND,
    '__module__' : 'joint_pb2'
    # @@protoc_insertion_point(class_scope:reachy.sdk.joint.JointCommand)
    })
  _sym_db.RegisterMessage(JointCommand)
  
  JointsCommand = _reflection.GeneratedProtocolMessageType('JointsCommand', (_message.Message,), {
    'DESCRIPTOR' : _JOINTSCOMMAND,
    '__module__' : 'joint_pb2'
    # @@protoc_insertion_point(class_scope:reachy.sdk.joint.JointsCommand)
    })
  _sym_db.RegisterMessage(JointsCommand)
  
  JointsCommandAck = _reflection.GeneratedProtocolMessageType('JointsCommandAck', (_message.Message,), {
    'DESCRIPTOR' : _JOINTSCOMMANDACK,
    '__module__' : 'joint_pb2'
    # @@protoc_insertion_point(class_scope:reachy.sdk.joint.JointsCommandAck)
    })
  _sym_db.RegisterMessage(JointsCommandAck)
  
  
  
  _JOINTSERVICE = _descriptor.ServiceDescriptor(
    name='JointService',
    full_name='reachy.sdk.joint.JointService',
    file=DESCRIPTOR,
    index=0,
    serialized_options=None,
    create_key=_descriptor._internal_create_key,
    serialized_start=2179,
    serialized_end=2629,
    methods=[
    _descriptor.MethodDescriptor(
      name='GetAllJointsId',
      full_name='reachy.sdk.joint.JointService.GetAllJointsId',
      index=0,
      containing_service=None,
      input_type=google_dot_protobuf_dot_empty__pb2._EMPTY,
      output_type=_JOINTSID,
      serialized_options=None,
      create_key=_descriptor._internal_create_key,
    ),
    _descriptor.MethodDescriptor(
      name='GetJointsState',
      full_name='reachy.sdk.joint.JointService.GetJointsState',
      index=1,
      containing_service=None,
      input_type=_JOINTSSTATEREQUEST,
      output_type=_JOINTSSTATE,
      serialized_options=None,
      create_key=_descriptor._internal_create_key,
    ),
    _descriptor.MethodDescriptor(
      name='StreamJointsState',
      full_name='reachy.sdk.joint.JointService.StreamJointsState',
      index=2,
      containing_service=None,
      input_type=_STREAMJOINTSREQUEST,
      output_type=_JOINTSSTATE,
      serialized_options=None,
      create_key=_descriptor._internal_create_key,
    ),
    _descriptor.MethodDescriptor(
      name='SendJointsCommands',
      full_name='reachy.sdk.joint.JointService.SendJointsCommands',
      index=3,
      containing_service=None,
      input_type=_JOINTSCOMMAND,
      output_type=_JOINTSCOMMANDACK,
      serialized_options=None,
      create_key=_descriptor._internal_create_key,
    ),
    _descriptor.MethodDescriptor(
      name='StreamJointsCommands',
      full_name='reachy.sdk.joint.JointService.StreamJointsCommands',
      index=4,
      containing_service=None,
      input_type=_JOINTSCOMMAND,
      output_type=_JOINTSCOMMANDACK,
      serialized_options=None,
      create_key=_descriptor._internal_create_key,
    ),
  ])
  _sym_db.RegisterServiceDescriptor(_JOINTSERVICE)
  
  DESCRIPTOR.services_by_name['JointService'] = _JOINTSERVICE
  
  # @@protoc_insertion_point(module_scope)
  