diff --git a/csharp/Arm.cs b/csharp/Arm.cs index 6757152..a0c11af 100755 --- a/csharp/Arm.cs +++ b/csharp/Arm.cs @@ -28,116 +28,122 @@ static ArmReflection() { "L2VtcHR5LnByb3RvGh5nb29nbGUvcHJvdG9idWYvd3JhcHBlcnMucHJvdG8a", "H2dvb2dsZS9wcm90b2J1Zi90aW1lc3RhbXAucHJvdG8aCnBhcnQucHJvdG8a", "EGtpbmVtYXRpY3MucHJvdG8aC2Vycm9yLnByb3RvGg5vcmJpdGEyZC5wcm90", - "bxoOb3JiaXRhM2QucHJvdG8i0wIKCEFybVN0YXRlEi0KCXRpbWVzdGFtcBgB", - "IAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASHwoCaWQYAiABKAsy", - "Ey5yZWFjaHkucGFydC5QYXJ0SWQSEQoJYWN0aXZhdGVkGAMgASgIEjkKDnNo", - "b3VsZGVyX3N0YXRlGAQgASgLMiEuY29tcG9uZW50Lm9yYml0YTJkLk9yYml0", - "YTJkU3RhdGUSNgoLZWxib3dfc3RhdGUYBSABKAsyIS5jb21wb25lbnQub3Ji", - "aXRhMmQuT3JiaXRhMmRTdGF0ZRI2Cgt3cmlzdF9zdGF0ZRgGIAEoCzIhLmNv", - "bXBvbmVudC5vcmJpdGEzZC5PcmJpdGEzZFN0YXRlEjkKDHJlYWNoYWJpbGl0", - "eRgKIAMoCzIjLnJlYWNoeS5wYXJ0LmFybS5SZWFjaGFiaWxpdHlBbnN3ZXIi", - "rgEKElJlYWNoYWJpbGl0eUFuc3dlchItCghvcmRlcl9pZBgBIAEoCzIbLmdv", - "b2dsZS5wcm90b2J1Zi5JbnQzMlZhbHVlEjAKDGlzX3JlYWNoYWJsZRgCIAEo", - "CzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFsdWUSNwoLZGVzY3JpcHRpb24Y", - "AyABKA4yIi5yZWFjaHkucGFydC5hcm0uUmVhY2hhYmlsaXR5RXJyb3IimgEK", - "DkFybURlc2NyaXB0aW9uEi4KCHNob3VsZGVyGAEgASgLMhwuY29tcG9uZW50", - "Lm9yYml0YTJkLk9yYml0YTJkEisKBWVsYm93GAIgASgLMhwuY29tcG9uZW50", - "Lm9yYml0YTJkLk9yYml0YTJkEisKBXdyaXN0GAMgASgLMhwuY29tcG9uZW50", - "Lm9yYml0YTNkLk9yYml0YTNkIoYBCgNBcm0SJAoHcGFydF9pZBgBIAEoCzIT", - "LnJlYWNoeS5wYXJ0LlBhcnRJZBI0CgtkZXNjcmlwdGlvbhgCIAEoCzIfLnJl", - "YWNoeS5wYXJ0LmFybS5Bcm1EZXNjcmlwdGlvbhIjCgRpbmZvGAUgASgLMhUu", - "cmVhY2h5LnBhcnQuUGFydEluZm8iLgoJTGlzdE9mQXJtEiEKA2FybRgBIAMo", - "CzIULnJlYWNoeS5wYXJ0LmFybS5Bcm0irwEKC0FybVBvc2l0aW9uEjUKEXNo", - "b3VsZGVyX3Bvc2l0aW9uGAEgASgLMhouY29tcG9uZW50Lm9yYml0YTJkLlBv", - "c2UyZBIyCg5lbGJvd19wb3NpdGlvbhgCIAEoCzIaLmNvbXBvbmVudC5vcmJp", - "dGEyZC5Qb3NlMmQSNQoOd3Jpc3RfcG9zaXRpb24YAyABKAsyHS5yZWFjaHku", - "a2luZW1hdGljcy5Sb3RhdGlvbjNkIuIEChBBcm1DYXJ0ZXNpYW5Hb2FsEh8K", - "AmlkGAEgASgLMhMucmVhY2h5LnBhcnQuUGFydElkEi8KCWdvYWxfcG9zZRgC", - "IAEoCzIcLnJlYWNoeS5raW5lbWF0aWNzLk1hdHJpeDR4NBJGChJwb3NpdGlv", - "bl90b2xlcmFuY2UYAyABKAsyKi5yZWFjaHkua2luZW1hdGljcy5Qb2ludERp", - "c3RhbmNlVG9sZXJhbmNlcxJKChVvcmllbnRhdGlvbl90b2xlcmFuY2UYBCAB", - "KAsyKy5yZWFjaHkua2luZW1hdGljcy5FeHRFdWxlckFuZ2xlc1RvbGVyYW5j", - "ZXMSKAoCcTAYBSABKAsyHC5yZWFjaHkucGFydC5hcm0uQXJtUG9zaXRpb24S", - "PAoQY29uc3RyYWluZWRfbW9kZRgGIAEoDjIiLnJlYWNoeS5wYXJ0LmFybS5J", - "S0NvbnN0cmFpbmVkTW9kZRI0Cg9wcmVmZXJyZWRfdGhldGEYByABKAsyGy5n", - "b29nbGUucHJvdG9idWYuRmxvYXRWYWx1ZRIwCgtkX3RoZXRhX21heBgIIAEo", - "CzIbLmdvb2dsZS5wcm90b2J1Zi5GbG9hdFZhbHVlEjoKD2NvbnRpbnVvdXNf", - "bW9kZRgJIAEoDjIhLnJlYWNoeS5wYXJ0LmFybS5JS0NvbnRpbnVvdXNNb2Rl", - "Ei0KCGR1cmF0aW9uGAogASgLMhsuZ29vZ2xlLnByb3RvYnVmLkZsb2F0VmFs", - "dWUSLQoIb3JkZXJfaWQYDyABKAsyGy5nb29nbGUucHJvdG9idWYuSW50MzJW", - "YWx1ZSKRAQoMQXJtSm9pbnRHb2FsEh8KAmlkGAEgASgLMhMucmVhY2h5LnBh", - "cnQuUGFydElkEjEKC2pvaW50c19nb2FsGAIgASgLMhwucmVhY2h5LnBhcnQu", - "YXJtLkFybVBvc2l0aW9uEi0KCGR1cmF0aW9uGAMgASgLMhsuZ29vZ2xlLnBy", - "b3RvYnVmLkZsb2F0VmFsdWUiPAoOQXJtRW5kRWZmZWN0b3ISKgoEcG9zZRgB", - "IAEoCzIcLnJlYWNoeS5raW5lbWF0aWNzLk1hdHJpeDR4NCJfCgxBcm1GS1Jl", - "cXVlc3QSHwoCaWQYASABKAsyEy5yZWFjaHkucGFydC5QYXJ0SWQSLgoIcG9z", - "aXRpb24YAiABKAsyHC5yZWFjaHkucGFydC5hcm0uQXJtUG9zaXRpb24iVwoN", - "QXJtRktTb2x1dGlvbhIPCgdzdWNjZXNzGAEgASgIEjUKDGVuZF9lZmZlY3Rv", - "chgCIAEoCzIfLnJlYWNoeS5wYXJ0LmFybS5Bcm1FbmRFZmZlY3RvciKKAQoM", - "QXJtSUtSZXF1ZXN0Eh8KAmlkGAEgASgLMhMucmVhY2h5LnBhcnQuUGFydElk", - "Ei8KBnRhcmdldBgCIAEoCzIfLnJlYWNoeS5wYXJ0LmFybS5Bcm1FbmRFZmZl", - "Y3RvchIoCgJxMBgDIAEoCzIcLnJlYWNoeS5wYXJ0LmFybS5Bcm1Qb3NpdGlv", - "biJxCg1Bcm1JS1NvbHV0aW9uEg8KB3N1Y2Nlc3MYASABKAgSMgoMYXJtX3Bv", - "c2l0aW9uGAIgASgLMhwucmVhY2h5LnBhcnQuYXJtLkFybVBvc2l0aW9uEhsK", - "BWVycm9yGAMgASgLMgwuZXJyb3IuRXJyb3IivAEKCUFybVN0YXR1cxI7Cg9z", - "aG91bGRlcl9zdGF0dXMYASABKAsyIi5jb21wb25lbnQub3JiaXRhMmQuT3Ji", - "aXRhMmRTdGF0dXMSOAoMZWxib3dfc3RhdHVzGAIgASgLMiIuY29tcG9uZW50", - "Lm9yYml0YTJkLk9yYml0YTJkU3RhdHVzEjgKDHdyaXN0X3N0YXR1cxgDIAEo", - "CzIiLmNvbXBvbmVudC5vcmJpdGEzZC5PcmJpdGEzZFN0YXR1cyJDChFTcGVl", - "ZExpbWl0UmVxdWVzdBIfCgJpZBgBIAEoCzITLnJlYWNoeS5wYXJ0LlBhcnRJ", - "ZBINCgVsaW1pdBgCIAEoDSJEChJUb3JxdWVMaW1pdFJlcXVlc3QSHwoCaWQY", - "ASABKAsyEy5yZWFjaHkucGFydC5QYXJ0SWQSDQoFbGltaXQYAiABKA0iqgEK", - "CUFybUxpbWl0cxI1Cg9zaG91bGRlcl9saW1pdHMYASABKAsyHC5jb21wb25l", - "bnQub3JiaXRhMmQuTGltaXRzMmQSMgoMZWxib3dfbGltaXRzGAIgASgLMhwu", - "Y29tcG9uZW50Lm9yYml0YTJkLkxpbWl0czJkEjIKDHdyaXN0X2xpbWl0cxgD", - "IAEoCzIcLmNvbXBvbmVudC5vcmJpdGEzZC5MaW1pdHMzZCK8AQoPQXJtVGVt", - "cGVyYXR1cmVzEjkKFHNob3VsZGVyX3RlbXBlcmF0dXJlGAEgASgLMhsuY29t", - "cG9uZW50Lm9yYml0YTJkLkZsb2F0MmQSNgoRZWxib3dfdGVtcGVyYXR1cmUY", - "AiABKAsyGy5jb21wb25lbnQub3JiaXRhMmQuRmxvYXQyZBI2ChF3cmlzdF90", - "ZW1wZXJhdHVyZRgDIAEoCzIbLmNvbXBvbmVudC5vcmJpdGEzZC5GbG9hdDNk", - "KtsBCghBcm1GaWVsZBIICgROT05FEAASCAoETkFNRRABEgYKAklEEAISFAoQ", - "UFJFU0VOVF9QT1NJVElPThADEhEKDVBSRVNFTlRfU1BFRUQQBBIQCgxQUkVT", - "RU5UX0xPQUQQBRIPCgtURU1QRVJBVFVSRRAGEhAKDEpPSU5UX0xJTUlUUxAH", - "Eg0KCUNPTVBMSUFOVBAIEhEKDUdPQUxfUE9TSVRJT04QCRIPCgtTUEVFRF9M", - "SU1JVBAKEhAKDFRPUlFVRV9MSU1JVBALEgcKA1BJRBAMEgcKA0FMTBAPKlUK", - "EUlLQ29uc3RyYWluZWRNb2RlEh4KGlVOREVGSU5FRF9DT05TVFJBSU5FRF9N", - "T0RFEAASEQoNVU5DT05TVFJBSU5FRBABEg0KCUxPV19FTEJPVxACKk8KEElL", - "Q29udGludW91c01vZGUSHQoZVU5ERUZJTkVEX0NPTlRJTlVPVVNfTU9ERRAA", - "Eg4KCkNPTlRJTlVPVVMQARIMCghESVNDUkVURRACKowBChFSZWFjaGFiaWxp", - "dHlFcnJvchIMCghOT19FUlJPUhAAEhIKDkRJU1RBTkNFX0xJTUlUEAESEgoO", - "U0hPVUxERVJfTElNSVQQAhIPCgtFTEJPV19MSU1JVBADEg8KC1dSSVNUX0xJ", - "TUlUEAQSFAoQQ09OVElOVUlUWV9MSU1JVBAFEgkKBU9USEVSEAYy4AkKCkFy", - "bVNlcnZpY2USQAoKR2V0QWxsQXJtcxIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0", - "eRoaLnJlYWNoeS5wYXJ0LmFybS5MaXN0T2ZBcm0SOgoIR2V0U3RhdGUSEy5y", - "ZWFjaHkucGFydC5QYXJ0SWQaGS5yZWFjaHkucGFydC5hcm0uQXJtU3RhdGUS", - "TQoMQ29tcHV0ZUFybUZLEh0ucmVhY2h5LnBhcnQuYXJtLkFybUZLUmVxdWVz", - "dBoeLnJlYWNoeS5wYXJ0LmFybS5Bcm1GS1NvbHV0aW9uEk0KDENvbXB1dGVB", - "cm1JSxIdLnJlYWNoeS5wYXJ0LmFybS5Bcm1JS1JlcXVlc3QaHi5yZWFjaHku", - "cGFydC5hcm0uQXJtSUtTb2x1dGlvbhJJChRHZXRDYXJ0ZXNpYW5Qb3NpdGlv", - "bhITLnJlYWNoeS5wYXJ0LlBhcnRJZBocLnJlYWNoeS5raW5lbWF0aWNzLk1h", - "dHJpeDR4NBJFChBHZXRKb2ludFBvc2l0aW9uEhMucmVhY2h5LnBhcnQuUGFy", - "dElkGhwucmVhY2h5LnBhcnQuYXJtLkFybVBvc2l0aW9uEjgKBUF1ZGl0EhMu", - "cmVhY2h5LnBhcnQuUGFydElkGhoucmVhY2h5LnBhcnQuYXJtLkFybVN0YXR1", - "cxI4CglIZWFydEJlYXQSEy5yZWFjaHkucGFydC5QYXJ0SWQaFi5nb29nbGUu", - "cHJvdG9idWYuRW1wdHkSNgoHUmVzdGFydBITLnJlYWNoeS5wYXJ0LlBhcnRJ", - "ZBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJBChJSZXNldERlZmF1bHRWYWx1", - "ZXMSEy5yZWFjaHkucGFydC5QYXJ0SWQaFi5nb29nbGUucHJvdG9idWYuRW1w", - "dHkSNQoGVHVybk9uEhMucmVhY2h5LnBhcnQuUGFydElkGhYuZ29vZ2xlLnBy", - "b3RvYnVmLkVtcHR5EjYKB1R1cm5PZmYSEy5yZWFjaHkucGFydC5QYXJ0SWQa", - "Fi5nb29nbGUucHJvdG9idWYuRW1wdHkSQgoPR2V0Sm9pbnRzTGltaXRzEhMu", - "cmVhY2h5LnBhcnQuUGFydElkGhoucmVhY2h5LnBhcnQuYXJtLkFybUxpbWl0", - "cxJICg9HZXRUZW1wZXJhdHVyZXMSEy5yZWFjaHkucGFydC5QYXJ0SWQaIC5y", - "ZWFjaHkucGFydC5hcm0uQXJtVGVtcGVyYXR1cmVzEkkKFEdldEpvaW50R29h", - "bFBvc2l0aW9uEhMucmVhY2h5LnBhcnQuUGFydElkGhwucmVhY2h5LnBhcnQu", - "YXJtLkFybVBvc2l0aW9uEksKDVNldFNwZWVkTGltaXQSIi5yZWFjaHkucGFy", - "dC5hcm0uU3BlZWRMaW1pdFJlcXVlc3QaFi5nb29nbGUucHJvdG9idWYuRW1w", - "dHkSTQoOU2V0VG9ycXVlTGltaXQSIy5yZWFjaHkucGFydC5hcm0uVG9ycXVl", - "TGltaXRSZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5ElEKFFNlbmRB", - "cm1DYXJ0ZXNpYW5Hb2FsEiEucmVhY2h5LnBhcnQuYXJtLkFybUNhcnRlc2lh", - "bkdvYWwaFi5nb29nbGUucHJvdG9idWYuRW1wdHliBnByb3RvMw==")); + "bxoOb3JiaXRhM2QucHJvdG8iPQoPQ3VzdG9tQXJtSm9pbnRzEioKBmpvaW50", + "cxgBIAMoDjIaLnJlYWNoeS5wYXJ0LmFybS5Bcm1Kb2ludHMi0wIKCEFybVN0", + "YXRlEi0KCXRpbWVzdGFtcBgBIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1l", + "c3RhbXASHwoCaWQYAiABKAsyEy5yZWFjaHkucGFydC5QYXJ0SWQSEQoJYWN0", + "aXZhdGVkGAMgASgIEjkKDnNob3VsZGVyX3N0YXRlGAQgASgLMiEuY29tcG9u", + "ZW50Lm9yYml0YTJkLk9yYml0YTJkU3RhdGUSNgoLZWxib3dfc3RhdGUYBSAB", + "KAsyIS5jb21wb25lbnQub3JiaXRhMmQuT3JiaXRhMmRTdGF0ZRI2Cgt3cmlz", + "dF9zdGF0ZRgGIAEoCzIhLmNvbXBvbmVudC5vcmJpdGEzZC5PcmJpdGEzZFN0", + "YXRlEjkKDHJlYWNoYWJpbGl0eRgKIAMoCzIjLnJlYWNoeS5wYXJ0LmFybS5S", + "ZWFjaGFiaWxpdHlBbnN3ZXIirgEKElJlYWNoYWJpbGl0eUFuc3dlchItCghv", + "cmRlcl9pZBgBIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5JbnQzMlZhbHVlEjAK", + "DGlzX3JlYWNoYWJsZRgCIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5Cb29sVmFs", + "dWUSNwoLZGVzY3JpcHRpb24YAyABKA4yIi5yZWFjaHkucGFydC5hcm0uUmVh", + "Y2hhYmlsaXR5RXJyb3IimgEKDkFybURlc2NyaXB0aW9uEi4KCHNob3VsZGVy", + "GAEgASgLMhwuY29tcG9uZW50Lm9yYml0YTJkLk9yYml0YTJkEisKBWVsYm93", + "GAIgASgLMhwuY29tcG9uZW50Lm9yYml0YTJkLk9yYml0YTJkEisKBXdyaXN0", + "GAMgASgLMhwuY29tcG9uZW50Lm9yYml0YTNkLk9yYml0YTNkIoYBCgNBcm0S", + "JAoHcGFydF9pZBgBIAEoCzITLnJlYWNoeS5wYXJ0LlBhcnRJZBI0CgtkZXNj", + "cmlwdGlvbhgCIAEoCzIfLnJlYWNoeS5wYXJ0LmFybS5Bcm1EZXNjcmlwdGlv", + "bhIjCgRpbmZvGAUgASgLMhUucmVhY2h5LnBhcnQuUGFydEluZm8iLgoJTGlz", + "dE9mQXJtEiEKA2FybRgBIAMoCzIULnJlYWNoeS5wYXJ0LmFybS5Bcm0irwEK", + "C0FybVBvc2l0aW9uEjUKEXNob3VsZGVyX3Bvc2l0aW9uGAEgASgLMhouY29t", + "cG9uZW50Lm9yYml0YTJkLlBvc2UyZBIyCg5lbGJvd19wb3NpdGlvbhgCIAEo", + "CzIaLmNvbXBvbmVudC5vcmJpdGEyZC5Qb3NlMmQSNQoOd3Jpc3RfcG9zaXRp", + "b24YAyABKAsyHS5yZWFjaHkua2luZW1hdGljcy5Sb3RhdGlvbjNkIuIEChBB", + "cm1DYXJ0ZXNpYW5Hb2FsEh8KAmlkGAEgASgLMhMucmVhY2h5LnBhcnQuUGFy", + "dElkEi8KCWdvYWxfcG9zZRgCIAEoCzIcLnJlYWNoeS5raW5lbWF0aWNzLk1h", + "dHJpeDR4NBJGChJwb3NpdGlvbl90b2xlcmFuY2UYAyABKAsyKi5yZWFjaHku", + "a2luZW1hdGljcy5Qb2ludERpc3RhbmNlVG9sZXJhbmNlcxJKChVvcmllbnRh", + "dGlvbl90b2xlcmFuY2UYBCABKAsyKy5yZWFjaHkua2luZW1hdGljcy5FeHRF", + "dWxlckFuZ2xlc1RvbGVyYW5jZXMSKAoCcTAYBSABKAsyHC5yZWFjaHkucGFy", + "dC5hcm0uQXJtUG9zaXRpb24SPAoQY29uc3RyYWluZWRfbW9kZRgGIAEoDjIi", + "LnJlYWNoeS5wYXJ0LmFybS5JS0NvbnN0cmFpbmVkTW9kZRI0Cg9wcmVmZXJy", + "ZWRfdGhldGEYByABKAsyGy5nb29nbGUucHJvdG9idWYuRmxvYXRWYWx1ZRIw", + "CgtkX3RoZXRhX21heBgIIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5GbG9hdFZh", + "bHVlEjoKD2NvbnRpbnVvdXNfbW9kZRgJIAEoDjIhLnJlYWNoeS5wYXJ0LmFy", + "bS5JS0NvbnRpbnVvdXNNb2RlEi0KCGR1cmF0aW9uGAogASgLMhsuZ29vZ2xl", + "LnByb3RvYnVmLkZsb2F0VmFsdWUSLQoIb3JkZXJfaWQYDyABKAsyGy5nb29n", + "bGUucHJvdG9idWYuSW50MzJWYWx1ZSKRAQoMQXJtSm9pbnRHb2FsEh8KAmlk", + "GAEgASgLMhMucmVhY2h5LnBhcnQuUGFydElkEjEKC2pvaW50c19nb2FsGAIg", + "ASgLMhwucmVhY2h5LnBhcnQuYXJtLkFybVBvc2l0aW9uEi0KCGR1cmF0aW9u", + "GAMgASgLMhsuZ29vZ2xlLnByb3RvYnVmLkZsb2F0VmFsdWUiPAoOQXJtRW5k", + "RWZmZWN0b3ISKgoEcG9zZRgBIAEoCzIcLnJlYWNoeS5raW5lbWF0aWNzLk1h", + "dHJpeDR4NCJfCgxBcm1GS1JlcXVlc3QSHwoCaWQYASABKAsyEy5yZWFjaHku", + "cGFydC5QYXJ0SWQSLgoIcG9zaXRpb24YAiABKAsyHC5yZWFjaHkucGFydC5h", + "cm0uQXJtUG9zaXRpb24iVwoNQXJtRktTb2x1dGlvbhIPCgdzdWNjZXNzGAEg", + "ASgIEjUKDGVuZF9lZmZlY3RvchgCIAEoCzIfLnJlYWNoeS5wYXJ0LmFybS5B", + "cm1FbmRFZmZlY3RvciKKAQoMQXJtSUtSZXF1ZXN0Eh8KAmlkGAEgASgLMhMu", + "cmVhY2h5LnBhcnQuUGFydElkEi8KBnRhcmdldBgCIAEoCzIfLnJlYWNoeS5w", + "YXJ0LmFybS5Bcm1FbmRFZmZlY3RvchIoCgJxMBgDIAEoCzIcLnJlYWNoeS5w", + "YXJ0LmFybS5Bcm1Qb3NpdGlvbiJxCg1Bcm1JS1NvbHV0aW9uEg8KB3N1Y2Nl", + "c3MYASABKAgSMgoMYXJtX3Bvc2l0aW9uGAIgASgLMhwucmVhY2h5LnBhcnQu", + "YXJtLkFybVBvc2l0aW9uEhsKBWVycm9yGAMgASgLMgwuZXJyb3IuRXJyb3Ii", + "vAEKCUFybVN0YXR1cxI7Cg9zaG91bGRlcl9zdGF0dXMYASABKAsyIi5jb21w", + "b25lbnQub3JiaXRhMmQuT3JiaXRhMmRTdGF0dXMSOAoMZWxib3dfc3RhdHVz", + "GAIgASgLMiIuY29tcG9uZW50Lm9yYml0YTJkLk9yYml0YTJkU3RhdHVzEjgK", + "DHdyaXN0X3N0YXR1cxgDIAEoCzIiLmNvbXBvbmVudC5vcmJpdGEzZC5PcmJp", + "dGEzZFN0YXR1cyJDChFTcGVlZExpbWl0UmVxdWVzdBIfCgJpZBgBIAEoCzIT", + "LnJlYWNoeS5wYXJ0LlBhcnRJZBINCgVsaW1pdBgCIAEoDSJEChJUb3JxdWVM", + "aW1pdFJlcXVlc3QSHwoCaWQYASABKAsyEy5yZWFjaHkucGFydC5QYXJ0SWQS", + "DQoFbGltaXQYAiABKA0iqgEKCUFybUxpbWl0cxI1Cg9zaG91bGRlcl9saW1p", + "dHMYASABKAsyHC5jb21wb25lbnQub3JiaXRhMmQuTGltaXRzMmQSMgoMZWxi", + "b3dfbGltaXRzGAIgASgLMhwuY29tcG9uZW50Lm9yYml0YTJkLkxpbWl0czJk", + "EjIKDHdyaXN0X2xpbWl0cxgDIAEoCzIcLmNvbXBvbmVudC5vcmJpdGEzZC5M", + "aW1pdHMzZCK8AQoPQXJtVGVtcGVyYXR1cmVzEjkKFHNob3VsZGVyX3RlbXBl", + "cmF0dXJlGAEgASgLMhsuY29tcG9uZW50Lm9yYml0YTJkLkZsb2F0MmQSNgoR", + "ZWxib3dfdGVtcGVyYXR1cmUYAiABKAsyGy5jb21wb25lbnQub3JiaXRhMmQu", + "RmxvYXQyZBI2ChF3cmlzdF90ZW1wZXJhdHVyZRgDIAEoCzIbLmNvbXBvbmVu", + "dC5vcmJpdGEzZC5GbG9hdDNkKtsBCghBcm1GaWVsZBIICgROT05FEAASCAoE", + "TkFNRRABEgYKAklEEAISFAoQUFJFU0VOVF9QT1NJVElPThADEhEKDVBSRVNF", + "TlRfU1BFRUQQBBIQCgxQUkVTRU5UX0xPQUQQBRIPCgtURU1QRVJBVFVSRRAG", + "EhAKDEpPSU5UX0xJTUlUUxAHEg0KCUNPTVBMSUFOVBAIEhEKDUdPQUxfUE9T", + "SVRJT04QCRIPCgtTUEVFRF9MSU1JVBAKEhAKDFRPUlFVRV9MSU1JVBALEgcK", + "A1BJRBAMEgcKA0FMTBAPKoIBCglBcm1Kb2ludHMSEgoOU0hPVUxERVJfUElU", + "Q0gQABIRCg1TSE9VTERFUl9ST0xMEAESDQoJRUxCT1dfWUFXEAISDwoLRUxC", + "T1dfUElUQ0gQAxIOCgpXUklTVF9ST0xMEAQSDwoLV1JJU1RfUElUQ0gQBRIN", + "CglXUklTVF9ZQVcQBipVChFJS0NvbnN0cmFpbmVkTW9kZRIeChpVTkRFRklO", + "RURfQ09OU1RSQUlORURfTU9ERRAAEhEKDVVOQ09OU1RSQUlORUQQARINCglM", + "T1dfRUxCT1cQAipPChBJS0NvbnRpbnVvdXNNb2RlEh0KGVVOREVGSU5FRF9D", + "T05USU5VT1VTX01PREUQABIOCgpDT05USU5VT1VTEAESDAoIRElTQ1JFVEUQ", + "AiqMAQoRUmVhY2hhYmlsaXR5RXJyb3ISDAoITk9fRVJST1IQABISCg5ESVNU", + "QU5DRV9MSU1JVBABEhIKDlNIT1VMREVSX0xJTUlUEAISDwoLRUxCT1dfTElN", + "SVQQAxIPCgtXUklTVF9MSU1JVBAEEhQKEENPTlRJTlVJVFlfTElNSVQQBRIJ", + "CgVPVEhFUhAGMuAJCgpBcm1TZXJ2aWNlEkAKCkdldEFsbEFybXMSFi5nb29n", + "bGUucHJvdG9idWYuRW1wdHkaGi5yZWFjaHkucGFydC5hcm0uTGlzdE9mQXJt", + "EjoKCEdldFN0YXRlEhMucmVhY2h5LnBhcnQuUGFydElkGhkucmVhY2h5LnBh", + "cnQuYXJtLkFybVN0YXRlEk0KDENvbXB1dGVBcm1GSxIdLnJlYWNoeS5wYXJ0", + "LmFybS5Bcm1GS1JlcXVlc3QaHi5yZWFjaHkucGFydC5hcm0uQXJtRktTb2x1", + "dGlvbhJNCgxDb21wdXRlQXJtSUsSHS5yZWFjaHkucGFydC5hcm0uQXJtSUtS", + "ZXF1ZXN0Gh4ucmVhY2h5LnBhcnQuYXJtLkFybUlLU29sdXRpb24SSQoUR2V0", + "Q2FydGVzaWFuUG9zaXRpb24SEy5yZWFjaHkucGFydC5QYXJ0SWQaHC5yZWFj", + "aHkua2luZW1hdGljcy5NYXRyaXg0eDQSRQoQR2V0Sm9pbnRQb3NpdGlvbhIT", + "LnJlYWNoeS5wYXJ0LlBhcnRJZBocLnJlYWNoeS5wYXJ0LmFybS5Bcm1Qb3Np", + "dGlvbhI4CgVBdWRpdBITLnJlYWNoeS5wYXJ0LlBhcnRJZBoaLnJlYWNoeS5w", + "YXJ0LmFybS5Bcm1TdGF0dXMSOAoJSGVhcnRCZWF0EhMucmVhY2h5LnBhcnQu", + "UGFydElkGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EjYKB1Jlc3RhcnQSEy5y", + "ZWFjaHkucGFydC5QYXJ0SWQaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSQQoS", + "UmVzZXREZWZhdWx0VmFsdWVzEhMucmVhY2h5LnBhcnQuUGFydElkGhYuZ29v", + "Z2xlLnByb3RvYnVmLkVtcHR5EjUKBlR1cm5PbhITLnJlYWNoeS5wYXJ0LlBh", + "cnRJZBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRI2CgdUdXJuT2ZmEhMucmVh", + "Y2h5LnBhcnQuUGFydElkGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EkIKD0dl", + "dEpvaW50c0xpbWl0cxITLnJlYWNoeS5wYXJ0LlBhcnRJZBoaLnJlYWNoeS5w", + "YXJ0LmFybS5Bcm1MaW1pdHMSSAoPR2V0VGVtcGVyYXR1cmVzEhMucmVhY2h5", + "LnBhcnQuUGFydElkGiAucmVhY2h5LnBhcnQuYXJtLkFybVRlbXBlcmF0dXJl", + "cxJJChRHZXRKb2ludEdvYWxQb3NpdGlvbhITLnJlYWNoeS5wYXJ0LlBhcnRJ", + "ZBocLnJlYWNoeS5wYXJ0LmFybS5Bcm1Qb3NpdGlvbhJLCg1TZXRTcGVlZExp", + "bWl0EiIucmVhY2h5LnBhcnQuYXJtLlNwZWVkTGltaXRSZXF1ZXN0GhYuZ29v", + "Z2xlLnByb3RvYnVmLkVtcHR5Ek0KDlNldFRvcnF1ZUxpbWl0EiMucmVhY2h5", + "LnBhcnQuYXJtLlRvcnF1ZUxpbWl0UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1", + "Zi5FbXB0eRJRChRTZW5kQXJtQ2FydGVzaWFuR29hbBIhLnJlYWNoeS5wYXJ0", + "LmFybS5Bcm1DYXJ0ZXNpYW5Hb2FsGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5", + "YgZwcm90bzM=")); descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, new pbr::FileDescriptor[] { global::Google.Protobuf.WellKnownTypes.EmptyReflection.Descriptor, global::Google.Protobuf.WellKnownTypes.WrappersReflection.Descriptor, global::Google.Protobuf.WellKnownTypes.TimestampReflection.Descriptor, global::Reachy.Part.PartReflection.Descriptor, global::Reachy.Kinematics.KinematicsReflection.Descriptor, global::Error.ErrorReflection.Descriptor, global::Component.Orbita2D.Orbita2DReflection.Descriptor, global::Component.Orbita3D.Orbita3DReflection.Descriptor, }, - new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Reachy.Part.Arm.ArmField), typeof(global::Reachy.Part.Arm.IKConstrainedMode), typeof(global::Reachy.Part.Arm.IKContinuousMode), typeof(global::Reachy.Part.Arm.ReachabilityError), }, null, new pbr::GeneratedClrTypeInfo[] { + new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Reachy.Part.Arm.ArmField), typeof(global::Reachy.Part.Arm.ArmJoints), typeof(global::Reachy.Part.Arm.IKConstrainedMode), typeof(global::Reachy.Part.Arm.IKContinuousMode), typeof(global::Reachy.Part.Arm.ReachabilityError), }, null, new pbr::GeneratedClrTypeInfo[] { + new pbr::GeneratedClrTypeInfo(typeof(global::Reachy.Part.Arm.CustomArmJoints), global::Reachy.Part.Arm.CustomArmJoints.Parser, new[]{ "Joints" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Reachy.Part.Arm.ArmState), global::Reachy.Part.Arm.ArmState.Parser, new[]{ "Timestamp", "Id", "Activated", "ShoulderState", "ElbowState", "WristState", "Reachability" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Reachy.Part.Arm.ReachabilityAnswer), global::Reachy.Part.Arm.ReachabilityAnswer.Parser, new[]{ "OrderId", "IsReachable", "Description" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Reachy.Part.Arm.ArmDescription), global::Reachy.Part.Arm.ArmDescription.Parser, new[]{ "Shoulder", "Elbow", "Wrist" }, null, null, null, null), @@ -179,6 +185,16 @@ public enum ArmField { [pbr::OriginalName("ALL")] All = 15, } + public enum ArmJoints { + [pbr::OriginalName("SHOULDER_PITCH")] ShoulderPitch = 0, + [pbr::OriginalName("SHOULDER_ROLL")] ShoulderRoll = 1, + [pbr::OriginalName("ELBOW_YAW")] ElbowYaw = 2, + [pbr::OriginalName("ELBOW_PITCH")] ElbowPitch = 3, + [pbr::OriginalName("WRIST_ROLL")] WristRoll = 4, + [pbr::OriginalName("WRIST_PITCH")] WristPitch = 5, + [pbr::OriginalName("WRIST_YAW")] WristYaw = 6, + } + public enum IKConstrainedMode { [pbr::OriginalName("UNDEFINED_CONSTRAINED_MODE")] UndefinedConstrainedMode = 0, [pbr::OriginalName("UNCONSTRAINED")] Unconstrained = 1, @@ -204,6 +220,186 @@ public enum ReachabilityError { #endregion #region Messages + public sealed partial class CustomArmJoints : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new CustomArmJoints()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::Reachy.Part.Arm.ArmReflection.Descriptor.MessageTypes[0]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public CustomArmJoints() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public CustomArmJoints(CustomArmJoints other) : this() { + joints_ = other.joints_.Clone(); + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public CustomArmJoints Clone() { + return new CustomArmJoints(this); + } + + /// Field number for the "joints" field. + public const int JointsFieldNumber = 1; + private static readonly pb::FieldCodec _repeated_joints_codec + = pb::FieldCodec.ForEnum(10, x => (int) x, x => (global::Reachy.Part.Arm.ArmJoints) x); + private readonly pbc::RepeatedField joints_ = new pbc::RepeatedField(); + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::RepeatedField Joints { + get { return joints_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as CustomArmJoints); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(CustomArmJoints other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if(!joints_.Equals(other.joints_)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + hash ^= joints_.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + joints_.WriteTo(output, _repeated_joints_codec); + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + joints_.WriteTo(ref output, _repeated_joints_codec); + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + size += joints_.CalculateSize(_repeated_joints_codec); + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(CustomArmJoints other) { + if (other == null) { + return; + } + joints_.Add(other.joints_); + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: + case 8: { + joints_.AddEntriesFrom(input, _repeated_joints_codec); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: + case 8: { + joints_.AddEntriesFrom(ref input, _repeated_joints_codec); + break; + } + } + } + } + #endif + + } + public sealed partial class ArmState : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -218,7 +414,7 @@ public sealed partial class ArmState : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::Reachy.Part.Arm.ArmReflection.Descriptor.MessageTypes[0]; } + get { return global::Reachy.Part.Arm.ArmReflection.Descriptor.MessageTypes[1]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -663,7 +859,7 @@ public sealed partial class ReachabilityAnswer : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::Reachy.Part.Arm.ArmReflection.Descriptor.MessageTypes[2]; } + get { return global::Reachy.Part.Arm.ArmReflection.Descriptor.MessageTypes[3]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -1232,7 +1428,7 @@ public sealed partial class Arm : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::Reachy.Part.Arm.ArmReflection.Descriptor.MessageTypes[3]; } + get { return global::Reachy.Part.Arm.ArmReflection.Descriptor.MessageTypes[4]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -1522,7 +1718,7 @@ public sealed partial class ListOfArm : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::Reachy.Part.Arm.ArmReflection.Descriptor.MessageTypes[4]; } + get { return global::Reachy.Part.Arm.ArmReflection.Descriptor.MessageTypes[5]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -1700,7 +1896,7 @@ public sealed partial class ArmPosition : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::Reachy.Part.Arm.ArmReflection.Descriptor.MessageTypes[5]; } + get { return global::Reachy.Part.Arm.ArmReflection.Descriptor.MessageTypes[6]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -1990,7 +2186,7 @@ public sealed partial class ArmCartesianGoal : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::Reachy.Part.Arm.ArmReflection.Descriptor.MessageTypes[6]; } + get { return global::Reachy.Part.Arm.ArmReflection.Descriptor.MessageTypes[7]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -2626,7 +2822,7 @@ public sealed partial class ArmJointGoal : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::Reachy.Part.Arm.ArmReflection.Descriptor.MessageTypes[7]; } + get { return global::Reachy.Part.Arm.ArmReflection.Descriptor.MessageTypes[8]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -2915,7 +3111,7 @@ public sealed partial class ArmEndEffector : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::Reachy.Part.Arm.ArmReflection.Descriptor.MessageTypes[8]; } + get { return global::Reachy.Part.Arm.ArmReflection.Descriptor.MessageTypes[9]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -3113,7 +3309,7 @@ public sealed partial class ArmFKRequest : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::Reachy.Part.Arm.ArmReflection.Descriptor.MessageTypes[9]; } + get { return global::Reachy.Part.Arm.ArmReflection.Descriptor.MessageTypes[10]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -3357,7 +3553,7 @@ public sealed partial class ArmFKSolution : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::Reachy.Part.Arm.ArmReflection.Descriptor.MessageTypes[10]; } + get { return global::Reachy.Part.Arm.ArmReflection.Descriptor.MessageTypes[11]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -3592,7 +3788,7 @@ public sealed partial class ArmIKRequest : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::Reachy.Part.Arm.ArmReflection.Descriptor.MessageTypes[11]; } + get { return global::Reachy.Part.Arm.ArmReflection.Descriptor.MessageTypes[12]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -3882,7 +4078,7 @@ public sealed partial class ArmIKSolution : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::Reachy.Part.Arm.ArmReflection.Descriptor.MessageTypes[12]; } + get { return global::Reachy.Part.Arm.ArmReflection.Descriptor.MessageTypes[13]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -4163,7 +4359,7 @@ public sealed partial class ArmStatus : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::Reachy.Part.Arm.ArmReflection.Descriptor.MessageTypes[13]; } + get { return global::Reachy.Part.Arm.ArmReflection.Descriptor.MessageTypes[14]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -4453,7 +4649,7 @@ public sealed partial class SpeedLimitRequest : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::Reachy.Part.Arm.ArmReflection.Descriptor.MessageTypes[14]; } + get { return global::Reachy.Part.Arm.ArmReflection.Descriptor.MessageTypes[15]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -4688,7 +4884,7 @@ public sealed partial class TorqueLimitRequest : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::Reachy.Part.Arm.ArmReflection.Descriptor.MessageTypes[16]; } + get { return global::Reachy.Part.Arm.ArmReflection.Descriptor.MessageTypes[17]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -5213,7 +5409,7 @@ public sealed partial class ArmTemperatures : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::Reachy.Part.Arm.ArmReflection.Descriptor.MessageTypes[17]; } + get { return global::Reachy.Part.Arm.ArmReflection.Descriptor.MessageTypes[18]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] diff --git a/csharp/Goto.cs b/csharp/Goto.cs index 13a108b..cdace4c 100644 --- a/csharp/Goto.cs +++ b/csharp/Goto.cs @@ -22,46 +22,55 @@ public static partial class GotoReflection { static GotoReflection() { byte[] descriptorData = global::System.Convert.FromBase64String( string.Concat( - "Cgpnb3RvLnByb3RvGhtnb29nbGUvcHJvdG9idWYvZW1wdHkucHJvdG8aCWFy", - "bS5wcm90bxoKaGVhZC5wcm90bxoKcGFydC5wcm90byIUCgZHb1RvSWQSCgoC", - "aWQYASABKAUiFgoHR29Ub0FjaxILCgNhY2sYASABKAgiMgoOR29Ub0dvYWxT", - "dGF0dXMSIAoLZ29hbF9zdGF0dXMYASABKA4yCy5Hb2FsU3RhdHVzIqYBCg1D", - "YXJ0ZXNpYW5Hb2FsEj8KEmFybV9jYXJ0ZXNpYW5fZ29hbBgBIAEoCzIhLnJl", - "YWNoeS5wYXJ0LmFybS5Bcm1DYXJ0ZXNpYW5Hb2FsSAASQgoTbmVja19jYXJ0", - "ZXNpYW5fZ29hbBgCIAEoCzIjLnJlYWNoeS5wYXJ0LmhlYWQuTmVja0NhcnRl", - "c2lhbkdvYWxIAEIQCg5jYXJ0ZXNpYW5fZ29hbCKQAQoKSm9pbnRzR29hbBI3", - "Cg5hcm1fam9pbnRfZ29hbBgBIAEoCzIdLnJlYWNoeS5wYXJ0LmFybS5Bcm1K", - "b2ludEdvYWxIABI6Cg9uZWNrX2pvaW50X2dvYWwYAiABKAsyHy5yZWFjaHku", - "cGFydC5oZWFkLk5lY2tKb2ludEdvYWxIAEINCgtqb2ludHNfZ29hbCJDChFH", - "b1RvSW50ZXJwb2xhdGlvbhIuChJpbnRlcnBvbGF0aW9uX3R5cGUYASABKA4y", - "Ei5JbnRlcnBvbGF0aW9uTW9kZSKTAQoLR29Ub1JlcXVlc3QSKAoOY2FydGVz", - "aWFuX2dvYWwYASABKAsyDi5DYXJ0ZXNpYW5Hb2FsSAASIgoLam9pbnRzX2dv", - "YWwYAiABKAsyCy5Kb2ludHNHb2FsSAASLgoSaW50ZXJwb2xhdGlvbl9tb2Rl", - "GAMgASgLMhIuR29Ub0ludGVycG9sYXRpb25CBgoEZ29hbCImCglHb1RvUXVl", - "dWUSGQoIZ290b19pZHMYASADKAsyBy5Hb1RvSWQqqgEKCkdvYWxTdGF0dXMS", - "CAoETk9ORRAAEhIKDlNUQVRVU19VTktOT1dOEAESEwoPU1RBVFVTX0FDQ0VQ", - "VEVEEAISFAoQU1RBVFVTX0VYRUNVVElORxADEhQKEFNUQVRVU19DQU5DRUxJ", - "TkcQBBIUChBTVEFUVVNfU1VDQ0VFREVEEAUSEwoPU1RBVFVTX0NBTkNFTEVE", - "EAYSEgoOU1RBVFVTX0FCT1JURUQQBypJChFJbnRlcnBvbGF0aW9uTW9kZRIW", - "ChJOT05FX0lOVEVSUE9MQVRJT04QABIKCgZMSU5FQVIQARIQCgxNSU5JTVVN", - "X0pFUksQAjKeAwoLR29Ub1NlcnZpY2USJgoNR29Ub0NhcnRlc2lhbhIMLkdv", - "VG9SZXF1ZXN0GgcuR29Ub0lkEiMKCkdvVG9Kb2ludHMSDC5Hb1RvUmVxdWVz", - "dBoHLkdvVG9JZBIoCgxHZXRHb1RvU3RhdGUSBy5Hb1RvSWQaDy5Hb1RvR29h", - "bFN0YXR1cxInCg5HZXRHb1RvUmVxdWVzdBIHLkdvVG9JZBoMLkdvVG9SZXF1", - "ZXN0EjIKEkdldFBhcnRHb1RvUGxheWluZxITLnJlYWNoeS5wYXJ0LlBhcnRJ", - "ZBoHLkdvVG9JZBIzChBHZXRQYXJ0R29Ub1F1ZXVlEhMucmVhY2h5LnBhcnQu", - "UGFydElkGgouR29Ub1F1ZXVlEh8KCkNhbmNlbEdvVG8SBy5Hb1RvSWQaCC5H", - "b1RvQWNrEjEKDUNhbmNlbEFsbEdvVG8SFi5nb29nbGUucHJvdG9idWYuRW1w", - "dHkaCC5Hb1RvQWNrEjIKEUNhbmNlbFBhcnRBbGxHb1RvEhMucmVhY2h5LnBh", - "cnQuUGFydElkGgguR29Ub0Fja2IGcHJvdG8z")); + "Cgpnb3RvLnByb3RvGhtnb29nbGUvcHJvdG9idWYvZW1wdHkucHJvdG8aHmdv", + "b2dsZS9wcm90b2J1Zi93cmFwcGVycy5wcm90bxoJYXJtLnByb3RvGgpoZWFk", + "LnByb3RvGgpwYXJ0LnByb3RvIhQKBkdvVG9JZBIKCgJpZBgBIAEoBSIWCgdH", + "b1RvQWNrEgsKA2FjaxgBIAEoCCIyCg5Hb1RvR29hbFN0YXR1cxIgCgtnb2Fs", + "X3N0YXR1cxgBIAEoDjILLkdvYWxTdGF0dXMipgEKDUNhcnRlc2lhbkdvYWwS", + "PwoSYXJtX2NhcnRlc2lhbl9nb2FsGAEgASgLMiEucmVhY2h5LnBhcnQuYXJt", + "LkFybUNhcnRlc2lhbkdvYWxIABJCChNuZWNrX2NhcnRlc2lhbl9nb2FsGAIg", + "ASgLMiMucmVhY2h5LnBhcnQuaGVhZC5OZWNrQ2FydGVzaWFuR29hbEgAQhAK", + "DmNhcnRlc2lhbl9nb2FsIr8BCgpKb2ludHNHb2FsEjcKDmFybV9qb2ludF9n", + "b2FsGAEgASgLMh0ucmVhY2h5LnBhcnQuYXJtLkFybUpvaW50R29hbEgAEjoK", + "D25lY2tfam9pbnRfZ29hbBgCIAEoCzIfLnJlYWNoeS5wYXJ0LmhlYWQuTmVj", + "a0pvaW50R29hbEgAEi0KEWN1c3RvbV9qb2ludF9nb2FsGAMgASgLMhAuQ3Vz", + "dG9tSm9pbnRHb2FsSABCDQoLam9pbnRzX2dvYWwikQIKD0N1c3RvbUpvaW50", + "R29hbBIfCgJpZBgBIAEoCzITLnJlYWNoeS5wYXJ0LlBhcnRJZBI2Cgphcm1f", + "am9pbnRzGAIgASgLMiAucmVhY2h5LnBhcnQuYXJtLkN1c3RvbUFybUpvaW50", + "c0gAEjkKC25lY2tfam9pbnRzGAMgASgLMiIucmVhY2h5LnBhcnQuaGVhZC5D", + "dXN0b21OZWNrSm9pbnRzSAASMQoMam9pbnRzX2dvYWxzGAQgAygLMhsuZ29v", + "Z2xlLnByb3RvYnVmLkZsb2F0VmFsdWUSLQoIZHVyYXRpb24YCiABKAsyGy5n", + "b29nbGUucHJvdG9idWYuRmxvYXRWYWx1ZUIICgZqb2ludHMiQwoRR29Ub0lu", + "dGVycG9sYXRpb24SLgoSaW50ZXJwb2xhdGlvbl90eXBlGAEgASgOMhIuSW50", + "ZXJwb2xhdGlvbk1vZGUikwEKC0dvVG9SZXF1ZXN0EigKDmNhcnRlc2lhbl9n", + "b2FsGAEgASgLMg4uQ2FydGVzaWFuR29hbEgAEiIKC2pvaW50c19nb2FsGAIg", + "ASgLMgsuSm9pbnRzR29hbEgAEi4KEmludGVycG9sYXRpb25fbW9kZRgDIAEo", + "CzISLkdvVG9JbnRlcnBvbGF0aW9uQgYKBGdvYWwiJgoJR29Ub1F1ZXVlEhkK", + "CGdvdG9faWRzGAEgAygLMgcuR29Ub0lkKqoBCgpHb2FsU3RhdHVzEggKBE5P", + "TkUQABISCg5TVEFUVVNfVU5LTk9XThABEhMKD1NUQVRVU19BQ0NFUFRFRBAC", + "EhQKEFNUQVRVU19FWEVDVVRJTkcQAxIUChBTVEFUVVNfQ0FOQ0VMSU5HEAQS", + "FAoQU1RBVFVTX1NVQ0NFRURFRBAFEhMKD1NUQVRVU19DQU5DRUxFRBAGEhIK", + "DlNUQVRVU19BQk9SVEVEEAcqSQoRSW50ZXJwb2xhdGlvbk1vZGUSFgoSTk9O", + "RV9JTlRFUlBPTEFUSU9OEAASCgoGTElORUFSEAESEAoMTUlOSU1VTV9KRVJL", + "EAIyngMKC0dvVG9TZXJ2aWNlEiYKDUdvVG9DYXJ0ZXNpYW4SDC5Hb1RvUmVx", + "dWVzdBoHLkdvVG9JZBIjCgpHb1RvSm9pbnRzEgwuR29Ub1JlcXVlc3QaBy5H", + "b1RvSWQSKAoMR2V0R29Ub1N0YXRlEgcuR29Ub0lkGg8uR29Ub0dvYWxTdGF0", + "dXMSJwoOR2V0R29Ub1JlcXVlc3QSBy5Hb1RvSWQaDC5Hb1RvUmVxdWVzdBIy", + "ChJHZXRQYXJ0R29Ub1BsYXlpbmcSEy5yZWFjaHkucGFydC5QYXJ0SWQaBy5H", + "b1RvSWQSMwoQR2V0UGFydEdvVG9RdWV1ZRITLnJlYWNoeS5wYXJ0LlBhcnRJ", + "ZBoKLkdvVG9RdWV1ZRIfCgpDYW5jZWxHb1RvEgcuR29Ub0lkGgguR29Ub0Fj", + "axIxCg1DYW5jZWxBbGxHb1RvEhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5Gggu", + "R29Ub0FjaxIyChFDYW5jZWxQYXJ0QWxsR29UbxITLnJlYWNoeS5wYXJ0LlBh", + "cnRJZBoILkdvVG9BY2tiBnByb3RvMw==")); descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, - new pbr::FileDescriptor[] { global::Google.Protobuf.WellKnownTypes.EmptyReflection.Descriptor, global::Reachy.Part.Arm.ArmReflection.Descriptor, global::Reachy.Part.Head.HeadReflection.Descriptor, global::Reachy.Part.PartReflection.Descriptor, }, + new pbr::FileDescriptor[] { global::Google.Protobuf.WellKnownTypes.EmptyReflection.Descriptor, global::Google.Protobuf.WellKnownTypes.WrappersReflection.Descriptor, global::Reachy.Part.Arm.ArmReflection.Descriptor, global::Reachy.Part.Head.HeadReflection.Descriptor, global::Reachy.Part.PartReflection.Descriptor, }, new pbr::GeneratedClrTypeInfo(new[] {typeof(global::GoalStatus), typeof(global::InterpolationMode), }, null, new pbr::GeneratedClrTypeInfo[] { new pbr::GeneratedClrTypeInfo(typeof(global::GoToId), global::GoToId.Parser, new[]{ "Id" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::GoToAck), global::GoToAck.Parser, new[]{ "Ack" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::GoToGoalStatus), global::GoToGoalStatus.Parser, new[]{ "GoalStatus" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::CartesianGoal), global::CartesianGoal.Parser, new[]{ "ArmCartesianGoal", "NeckCartesianGoal" }, new[]{ "CartesianGoal" }, null, null, null), - new pbr::GeneratedClrTypeInfo(typeof(global::JointsGoal), global::JointsGoal.Parser, new[]{ "ArmJointGoal", "NeckJointGoal" }, new[]{ "JointsGoal" }, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::JointsGoal), global::JointsGoal.Parser, new[]{ "ArmJointGoal", "NeckJointGoal", "CustomJointGoal" }, new[]{ "JointsGoal" }, null, null, null), + new pbr::GeneratedClrTypeInfo(typeof(global::CustomJointGoal), global::CustomJointGoal.Parser, new[]{ "Id", "ArmJoints", "NeckJoints", "JointsGoals", "Duration" }, new[]{ "Joints" }, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::GoToInterpolation), global::GoToInterpolation.Parser, new[]{ "InterpolationType" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::GoToRequest), global::GoToRequest.Parser, new[]{ "CartesianGoal", "JointsGoal", "InterpolationMode" }, new[]{ "Goal" }, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::GoToQueue), global::GoToQueue.Parser, new[]{ "GotoIds" }, null, null, null, null) @@ -984,6 +993,9 @@ public JointsGoal(JointsGoal other) : this() { case JointsGoalOneofCase.NeckJointGoal: NeckJointGoal = other.NeckJointGoal.Clone(); break; + case JointsGoalOneofCase.CustomJointGoal: + CustomJointGoal = other.CustomJointGoal.Clone(); + break; } _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); @@ -1019,12 +1031,25 @@ public JointsGoal Clone() { } } + /// Field number for the "custom_joint_goal" field. + public const int CustomJointGoalFieldNumber = 3; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::CustomJointGoal CustomJointGoal { + get { return jointsGoalCase_ == JointsGoalOneofCase.CustomJointGoal ? (global::CustomJointGoal) jointsGoal_ : null; } + set { + jointsGoal_ = value; + jointsGoalCase_ = value == null ? JointsGoalOneofCase.None : JointsGoalOneofCase.CustomJointGoal; + } + } + private object jointsGoal_; /// Enum of possible cases for the "joints_goal" oneof. public enum JointsGoalOneofCase { None = 0, ArmJointGoal = 1, NeckJointGoal = 2, + CustomJointGoal = 3, } private JointsGoalOneofCase jointsGoalCase_ = JointsGoalOneofCase.None; [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -1057,6 +1082,7 @@ public bool Equals(JointsGoal other) { } if (!object.Equals(ArmJointGoal, other.ArmJointGoal)) return false; if (!object.Equals(NeckJointGoal, other.NeckJointGoal)) return false; + if (!object.Equals(CustomJointGoal, other.CustomJointGoal)) return false; if (JointsGoalCase != other.JointsGoalCase) return false; return Equals(_unknownFields, other._unknownFields); } @@ -1067,6 +1093,7 @@ public override int GetHashCode() { int hash = 1; if (jointsGoalCase_ == JointsGoalOneofCase.ArmJointGoal) hash ^= ArmJointGoal.GetHashCode(); if (jointsGoalCase_ == JointsGoalOneofCase.NeckJointGoal) hash ^= NeckJointGoal.GetHashCode(); + if (jointsGoalCase_ == JointsGoalOneofCase.CustomJointGoal) hash ^= CustomJointGoal.GetHashCode(); hash ^= (int) jointsGoalCase_; if (_unknownFields != null) { hash ^= _unknownFields.GetHashCode(); @@ -1094,6 +1121,10 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(18); output.WriteMessage(NeckJointGoal); } + if (jointsGoalCase_ == JointsGoalOneofCase.CustomJointGoal) { + output.WriteRawTag(26); + output.WriteMessage(CustomJointGoal); + } if (_unknownFields != null) { _unknownFields.WriteTo(output); } @@ -1112,6 +1143,10 @@ public void WriteTo(pb::CodedOutputStream output) { output.WriteRawTag(18); output.WriteMessage(NeckJointGoal); } + if (jointsGoalCase_ == JointsGoalOneofCase.CustomJointGoal) { + output.WriteRawTag(26); + output.WriteMessage(CustomJointGoal); + } if (_unknownFields != null) { _unknownFields.WriteTo(ref output); } @@ -1128,6 +1163,9 @@ public int CalculateSize() { if (jointsGoalCase_ == JointsGoalOneofCase.NeckJointGoal) { size += 1 + pb::CodedOutputStream.ComputeMessageSize(NeckJointGoal); } + if (jointsGoalCase_ == JointsGoalOneofCase.CustomJointGoal) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(CustomJointGoal); + } if (_unknownFields != null) { size += _unknownFields.CalculateSize(); } @@ -1153,6 +1191,12 @@ public void MergeFrom(JointsGoal other) { } NeckJointGoal.MergeFrom(other.NeckJointGoal); break; + case JointsGoalOneofCase.CustomJointGoal: + if (CustomJointGoal == null) { + CustomJointGoal = new global::CustomJointGoal(); + } + CustomJointGoal.MergeFrom(other.CustomJointGoal); + break; } _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); @@ -1188,6 +1232,15 @@ public void MergeFrom(pb::CodedInputStream input) { NeckJointGoal = subBuilder; break; } + case 26: { + global::CustomJointGoal subBuilder = new global::CustomJointGoal(); + if (jointsGoalCase_ == JointsGoalOneofCase.CustomJointGoal) { + subBuilder.MergeFrom(CustomJointGoal); + } + input.ReadMessage(subBuilder); + CustomJointGoal = subBuilder; + break; + } } } #endif @@ -1221,6 +1274,417 @@ public void MergeFrom(pb::CodedInputStream input) { NeckJointGoal = subBuilder; break; } + case 26: { + global::CustomJointGoal subBuilder = new global::CustomJointGoal(); + if (jointsGoalCase_ == JointsGoalOneofCase.CustomJointGoal) { + subBuilder.MergeFrom(CustomJointGoal); + } + input.ReadMessage(subBuilder); + CustomJointGoal = subBuilder; + break; + } + } + } + } + #endif + +} + +public sealed partial class CustomJointGoal : pb::IMessage +#if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage +#endif +{ + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new CustomJointGoal()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::GotoReflection.Descriptor.MessageTypes[5]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public CustomJointGoal() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public CustomJointGoal(CustomJointGoal other) : this() { + id_ = other.id_ != null ? other.id_.Clone() : null; + jointsGoals_ = other.jointsGoals_.Clone(); + Duration = other.Duration; + switch (other.JointsCase) { + case JointsOneofCase.ArmJoints: + ArmJoints = other.ArmJoints.Clone(); + break; + case JointsOneofCase.NeckJoints: + NeckJoints = other.NeckJoints.Clone(); + break; + } + + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public CustomJointGoal Clone() { + return new CustomJointGoal(this); + } + + /// Field number for the "id" field. + public const int IdFieldNumber = 1; + private global::Reachy.Part.PartId id_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::Reachy.Part.PartId Id { + get { return id_; } + set { + id_ = value; + } + } + + /// Field number for the "arm_joints" field. + public const int ArmJointsFieldNumber = 2; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::Reachy.Part.Arm.CustomArmJoints ArmJoints { + get { return jointsCase_ == JointsOneofCase.ArmJoints ? (global::Reachy.Part.Arm.CustomArmJoints) joints_ : null; } + set { + joints_ = value; + jointsCase_ = value == null ? JointsOneofCase.None : JointsOneofCase.ArmJoints; + } + } + + /// Field number for the "neck_joints" field. + public const int NeckJointsFieldNumber = 3; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public global::Reachy.Part.Head.CustomNeckJoints NeckJoints { + get { return jointsCase_ == JointsOneofCase.NeckJoints ? (global::Reachy.Part.Head.CustomNeckJoints) joints_ : null; } + set { + joints_ = value; + jointsCase_ = value == null ? JointsOneofCase.None : JointsOneofCase.NeckJoints; + } + } + + /// Field number for the "joints_goals" field. + public const int JointsGoalsFieldNumber = 4; + private static readonly pb::FieldCodec _repeated_jointsGoals_codec + = pb::FieldCodec.ForStructWrapper(34); + private readonly pbc::RepeatedField jointsGoals_ = new pbc::RepeatedField(); + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::RepeatedField JointsGoals { + get { return jointsGoals_; } + } + + /// Field number for the "duration" field. + public const int DurationFieldNumber = 10; + private static readonly pb::FieldCodec _single_duration_codec = pb::FieldCodec.ForStructWrapper(82); + private float? duration_; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public float? Duration { + get { return duration_; } + set { + duration_ = value; + } + } + + + private object joints_; + /// Enum of possible cases for the "joints" oneof. + public enum JointsOneofCase { + None = 0, + ArmJoints = 2, + NeckJoints = 3, + } + private JointsOneofCase jointsCase_ = JointsOneofCase.None; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public JointsOneofCase JointsCase { + get { return jointsCase_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void ClearJoints() { + jointsCase_ = JointsOneofCase.None; + joints_ = null; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as CustomJointGoal); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(CustomJointGoal other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if (!object.Equals(Id, other.Id)) return false; + if (!object.Equals(ArmJoints, other.ArmJoints)) return false; + if (!object.Equals(NeckJoints, other.NeckJoints)) return false; + if(!jointsGoals_.Equals(other.jointsGoals_)) return false; + if (!pbc::ProtobufEqualityComparers.BitwiseNullableSingleEqualityComparer.Equals(Duration, other.Duration)) return false; + if (JointsCase != other.JointsCase) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + if (id_ != null) hash ^= Id.GetHashCode(); + if (jointsCase_ == JointsOneofCase.ArmJoints) hash ^= ArmJoints.GetHashCode(); + if (jointsCase_ == JointsOneofCase.NeckJoints) hash ^= NeckJoints.GetHashCode(); + hash ^= jointsGoals_.GetHashCode(); + if (duration_ != null) hash ^= pbc::ProtobufEqualityComparers.BitwiseNullableSingleEqualityComparer.GetHashCode(Duration); + hash ^= (int) jointsCase_; + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + if (id_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Id); + } + if (jointsCase_ == JointsOneofCase.ArmJoints) { + output.WriteRawTag(18); + output.WriteMessage(ArmJoints); + } + if (jointsCase_ == JointsOneofCase.NeckJoints) { + output.WriteRawTag(26); + output.WriteMessage(NeckJoints); + } + jointsGoals_.WriteTo(output, _repeated_jointsGoals_codec); + if (duration_ != null) { + _single_duration_codec.WriteTagAndValue(output, Duration); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + if (id_ != null) { + output.WriteRawTag(10); + output.WriteMessage(Id); + } + if (jointsCase_ == JointsOneofCase.ArmJoints) { + output.WriteRawTag(18); + output.WriteMessage(ArmJoints); + } + if (jointsCase_ == JointsOneofCase.NeckJoints) { + output.WriteRawTag(26); + output.WriteMessage(NeckJoints); + } + jointsGoals_.WriteTo(ref output, _repeated_jointsGoals_codec); + if (duration_ != null) { + _single_duration_codec.WriteTagAndValue(ref output, Duration); + } + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + if (id_ != null) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(Id); + } + if (jointsCase_ == JointsOneofCase.ArmJoints) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(ArmJoints); + } + if (jointsCase_ == JointsOneofCase.NeckJoints) { + size += 1 + pb::CodedOutputStream.ComputeMessageSize(NeckJoints); + } + size += jointsGoals_.CalculateSize(_repeated_jointsGoals_codec); + if (duration_ != null) { + size += _single_duration_codec.CalculateSizeWithTag(Duration); + } + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(CustomJointGoal other) { + if (other == null) { + return; + } + if (other.id_ != null) { + if (id_ == null) { + Id = new global::Reachy.Part.PartId(); + } + Id.MergeFrom(other.Id); + } + jointsGoals_.Add(other.jointsGoals_); + if (other.duration_ != null) { + if (duration_ == null || other.Duration != 0F) { + Duration = other.Duration; + } + } + switch (other.JointsCase) { + case JointsOneofCase.ArmJoints: + if (ArmJoints == null) { + ArmJoints = new global::Reachy.Part.Arm.CustomArmJoints(); + } + ArmJoints.MergeFrom(other.ArmJoints); + break; + case JointsOneofCase.NeckJoints: + if (NeckJoints == null) { + NeckJoints = new global::Reachy.Part.Head.CustomNeckJoints(); + } + NeckJoints.MergeFrom(other.NeckJoints); + break; + } + + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: { + if (id_ == null) { + Id = new global::Reachy.Part.PartId(); + } + input.ReadMessage(Id); + break; + } + case 18: { + global::Reachy.Part.Arm.CustomArmJoints subBuilder = new global::Reachy.Part.Arm.CustomArmJoints(); + if (jointsCase_ == JointsOneofCase.ArmJoints) { + subBuilder.MergeFrom(ArmJoints); + } + input.ReadMessage(subBuilder); + ArmJoints = subBuilder; + break; + } + case 26: { + global::Reachy.Part.Head.CustomNeckJoints subBuilder = new global::Reachy.Part.Head.CustomNeckJoints(); + if (jointsCase_ == JointsOneofCase.NeckJoints) { + subBuilder.MergeFrom(NeckJoints); + } + input.ReadMessage(subBuilder); + NeckJoints = subBuilder; + break; + } + case 34: { + jointsGoals_.AddEntriesFrom(input, _repeated_jointsGoals_codec); + break; + } + case 82: { + float? value = _single_duration_codec.Read(input); + if (duration_ == null || value != 0F) { + Duration = value; + } + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: { + if (id_ == null) { + Id = new global::Reachy.Part.PartId(); + } + input.ReadMessage(Id); + break; + } + case 18: { + global::Reachy.Part.Arm.CustomArmJoints subBuilder = new global::Reachy.Part.Arm.CustomArmJoints(); + if (jointsCase_ == JointsOneofCase.ArmJoints) { + subBuilder.MergeFrom(ArmJoints); + } + input.ReadMessage(subBuilder); + ArmJoints = subBuilder; + break; + } + case 26: { + global::Reachy.Part.Head.CustomNeckJoints subBuilder = new global::Reachy.Part.Head.CustomNeckJoints(); + if (jointsCase_ == JointsOneofCase.NeckJoints) { + subBuilder.MergeFrom(NeckJoints); + } + input.ReadMessage(subBuilder); + NeckJoints = subBuilder; + break; + } + case 34: { + jointsGoals_.AddEntriesFrom(ref input, _repeated_jointsGoals_codec); + break; + } + case 82: { + float? value = _single_duration_codec.Read(ref input); + if (duration_ == null || value != 0F) { + Duration = value; + } + break; + } } } } @@ -1242,7 +1706,7 @@ public sealed partial class GoToInterpolation : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::GotoReflection.Descriptor.MessageTypes[5]; } + get { return global::GotoReflection.Descriptor.MessageTypes[6]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -1431,7 +1895,7 @@ public sealed partial class GoToRequest : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::GotoReflection.Descriptor.MessageTypes[6]; } + get { return global::GotoReflection.Descriptor.MessageTypes[7]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -1762,7 +2226,7 @@ public sealed partial class GoToQueue : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::GotoReflection.Descriptor.MessageTypes[7]; } + get { return global::GotoReflection.Descriptor.MessageTypes[8]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] diff --git a/csharp/Head.cs b/csharp/Head.cs index f451670..5c0e62a 100755 --- a/csharp/Head.cs +++ b/csharp/Head.cs @@ -28,95 +28,98 @@ static HeadReflection() { "dWYvd3JhcHBlcnMucHJvdG8aG2dvb2dsZS9wcm90b2J1Zi9lbXB0eS5wcm90", "bxofZ29vZ2xlL3Byb3RvYnVmL3RpbWVzdGFtcC5wcm90bxoKcGFydC5wcm90", "bxoQa2luZW1hdGljcy5wcm90bxoLZXJyb3IucHJvdG8aD2NvbXBvbmVudC5w", - "cm90bxoOb3JiaXRhM2QucHJvdG8aFWR5bmFtaXhlbF9tb3Rvci5wcm90byKJ", - "AQoESGVhZBIkCgdwYXJ0X2lkGAEgASgLMhMucmVhY2h5LnBhcnQuUGFydElk", - "EjYKC2Rlc2NyaXB0aW9uGAIgASgLMiEucmVhY2h5LnBhcnQuaGVhZC5IZWFk", - "RGVzY3JpcHRpb24SIwoEaW5mbxgFIAEoCzIVLnJlYWNoeS5wYXJ0LlBhcnRJ", - "bmZvIrkBCg9IZWFkRGVzY3JpcHRpb24SKgoEbmVjaxgBIAEoCzIcLmNvbXBv", - "bmVudC5vcmJpdGEzZC5PcmJpdGEzZBI8CglsX2FudGVubmEYAiABKAsyKS5j", - "b21wb25lbnQuZHluYW1peGVsX21vdG9yLkR5bmFtaXhlbE1vdG9yEjwKCXJf", - "YW50ZW5uYRgDIAEoCzIpLmNvbXBvbmVudC5keW5hbWl4ZWxfbW90b3IuRHlu", - "YW1peGVsTW90b3IiMgoKTGlzdE9mSGVhZBIkCgRoZWFkGAEgAygLMhYucmVh", - "Y2h5LnBhcnQuaGVhZC5IZWFkIrcCCglIZWFkU3RhdGUSLQoJdGltZXN0YW1w", - "GAEgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIfCgJpZBgCIAEo", - "CzITLnJlYWNoeS5wYXJ0LlBhcnRJZBIRCglhY3RpdmF0ZWQYAyABKAgSNQoK", - "bmVja19zdGF0ZRgEIAEoCzIhLmNvbXBvbmVudC5vcmJpdGEzZC5PcmJpdGEz", - "ZFN0YXRlEkcKD2xfYW50ZW5uYV9zdGF0ZRgFIAEoCzIuLmNvbXBvbmVudC5k", - "eW5hbWl4ZWxfbW90b3IuRHluYW1peGVsTW90b3JTdGF0ZRJHCg9yX2FudGVu", - "bmFfc3RhdGUYBiABKAsyLi5jb21wb25lbnQuZHluYW1peGVsX21vdG9yLkR5", - "bmFtaXhlbE1vdG9yU3RhdGUitgEKDEhlYWRQb3NpdGlvbhI0Cg1uZWNrX3Bv", - "c2l0aW9uGAEgASgLMh0ucmVhY2h5LmtpbmVtYXRpY3MuUm90YXRpb24zZBI3", - "ChJsX2FudGVubmFfcG9zaXRpb24YAiABKAsyGy5nb29nbGUucHJvdG9idWYu", - "RmxvYXRWYWx1ZRI3ChJyX2FudGVubmFfcG9zaXRpb24YAyABKAsyGy5nb29n", - "bGUucHJvdG9idWYuRmxvYXRWYWx1ZSKMAQoRTmVja0NhcnRlc2lhbkdvYWwS", - "HwoCaWQYASABKAsyEy5yZWFjaHkucGFydC5QYXJ0SWQSJwoFcG9pbnQYAiAB", - "KAsyGC5yZWFjaHkua2luZW1hdGljcy5Qb2ludBItCghkdXJhdGlvbhgDIAEo", - "CzIbLmdvb2dsZS5wcm90b2J1Zi5GbG9hdFZhbHVlIpcBCg1OZWNrSm9pbnRH", - "b2FsEh8KAmlkGAEgASgLMhMucmVhY2h5LnBhcnQuUGFydElkEjYKC2pvaW50", - "c19nb2FsGAIgASgLMiEucmVhY2h5LnBhcnQuaGVhZC5OZWNrT3JpZW50YXRp", - "b24SLQoIZHVyYXRpb24YAyABKAsyGy5nb29nbGUucHJvdG9idWYuRmxvYXRW", - "YWx1ZSJCCg9OZWNrT3JpZW50YXRpb24SLwoIcm90YXRpb24YASABKAsyHS5y", - "ZWFjaHkua2luZW1hdGljcy5Sb3RhdGlvbjNkImIKDU5lY2tGS1JlcXVlc3QS", - "HwoCaWQYASABKAsyEy5yZWFjaHkucGFydC5QYXJ0SWQSMAoIcG9zaXRpb24Y", - "AiABKAsyHi5yZWFjaHkucGFydC5oZWFkLkhlYWRQb3NpdGlvbiJZCg5OZWNr", - "RktTb2x1dGlvbhIPCgdzdWNjZXNzGAEgASgIEjYKC29yaWVudGF0aW9uGAIg", - "ASgLMiEucmVhY2h5LnBhcnQuaGVhZC5OZWNrT3JpZW50YXRpb24ijgEKDU5l", - "Y2tJS1JlcXVlc3QSHwoCaWQYASABKAsyEy5yZWFjaHkucGFydC5QYXJ0SWQS", - "MQoGdGFyZ2V0GAIgASgLMiEucmVhY2h5LnBhcnQuaGVhZC5OZWNrT3JpZW50", - "YXRpb24SKQoCcTAYAyABKAsyHS5yZWFjaHkua2luZW1hdGljcy5Sb3RhdGlv", - "bjNkIm8KDk5lY2tJS1NvbHV0aW9uEg8KB3N1Y2Nlc3MYASABKAgSLwoIcG9z", - "aXRpb24YAiABKAsyHS5yZWFjaHkua2luZW1hdGljcy5Sb3RhdGlvbjNkEhsK", - "BWVycm9yGAMgASgLMgwuZXJyb3IuRXJyb3Ii2wEKCkhlYWRTdGF0dXMSNwoL", - "bmVja19zdGF0dXMYASABKAsyIi5jb21wb25lbnQub3JiaXRhM2QuT3JiaXRh", - "M2RTdGF0dXMSSQoQbF9hbnRlbm5hX3N0YXR1cxgCIAEoCzIvLmNvbXBvbmVu", - "dC5keW5hbWl4ZWxfbW90b3IuRHluYW1peGVsTW90b3JTdGF0dXMSSQoQcl9h", - "bnRlbm5hX3N0YXR1cxgDIAEoCzIvLmNvbXBvbmVudC5keW5hbWl4ZWxfbW90", - "b3IuRHluYW1peGVsTW90b3JTdGF0dXMiQwoRU3BlZWRMaW1pdFJlcXVlc3QS", - "HwoCaWQYASABKAsyEy5yZWFjaHkucGFydC5QYXJ0SWQSDQoFbGltaXQYAiAB", - "KA0iRAoSVG9ycXVlTGltaXRSZXF1ZXN0Eh8KAmlkGAEgASgLMhMucmVhY2h5", - "LnBhcnQuUGFydElkEg0KBWxpbWl0GAIgASgNIqUBCgxKb2ludHNMaW1pdHMS", - "MQoLbmVja19saW1pdHMYASABKAsyHC5jb21wb25lbnQub3JiaXRhM2QuTGlt", - "aXRzM2QSMAoQbF9hbnRlbm5hX2xpbWl0cxgCIAEoCzIWLmNvbXBvbmVudC5K", - "b2ludExpbWl0cxIwChByX2FudGVubmFfbGltaXRzGAMgASgLMhYuY29tcG9u", - "ZW50LkpvaW50TGltaXRzIocBChBIZWFkVGVtcGVyYXR1cmVzEjUKEG5lY2tf", - "dGVtcGVyYXR1cmUYASABKAsyGy5jb21wb25lbnQub3JiaXRhM2QuRmxvYXQz", - "ZBIdChVsX2FudGVubmFfdGVtcGVyYXR1cmUYAiABKAISHQoVcl9hbnRlbm5h", - "X3RlbXBlcmF0dXJlGAMgASgCKtwBCglIZWFkRmllbGQSCAoETk9ORRAAEggK", - "BE5BTUUQARIGCgJJRBACEhQKEFBSRVNFTlRfUE9TSVRJT04QAxIRCg1QUkVT", - "RU5UX1NQRUVEEAQSEAoMUFJFU0VOVF9MT0FEEAUSDwoLVEVNUEVSQVRVUkUQ", - "BhIQCgxKT0lOVF9MSU1JVFMQBxINCglDT01QTElBTlQQCBIRCg1HT0FMX1BP", - "U0lUSU9OEAkSDwoLU1BFRURfTElNSVQQChIQCgxUT1JRVUVfTElNSVQQCxIH", - "CgNQSUQQDBIHCgNBTEwQDzKqCQoLSGVhZFNlcnZpY2USQwoLR2V0QWxsSGVh", - "ZHMSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaHC5yZWFjaHkucGFydC5oZWFk", - "Lkxpc3RPZkhlYWQSPAoIR2V0U3RhdGUSEy5yZWFjaHkucGFydC5QYXJ0SWQa", - "Gy5yZWFjaHkucGFydC5oZWFkLkhlYWRTdGF0ZRJSCg1Db21wdXRlTmVja0ZL", - "Eh8ucmVhY2h5LnBhcnQuaGVhZC5OZWNrRktSZXF1ZXN0GiAucmVhY2h5LnBh", - "cnQuaGVhZC5OZWNrRktTb2x1dGlvbhJSCg1Db21wdXRlTmVja0lLEh8ucmVh", - "Y2h5LnBhcnQuaGVhZC5OZWNrSUtSZXF1ZXN0GiAucmVhY2h5LnBhcnQuaGVh", - "ZC5OZWNrSUtTb2x1dGlvbhJECg5HZXRPcmllbnRhdGlvbhITLnJlYWNoeS5w", - "YXJ0LlBhcnRJZBodLnJlYWNoeS5raW5lbWF0aWNzLlJvdGF0aW9uM2QSOgoF", - "QXVkaXQSEy5yZWFjaHkucGFydC5QYXJ0SWQaHC5yZWFjaHkucGFydC5oZWFk", - "LkhlYWRTdGF0dXMSOAoJSGVhcnRCZWF0EhMucmVhY2h5LnBhcnQuUGFydElk", - "GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EjYKB1Jlc3RhcnQSEy5yZWFjaHku", - "cGFydC5QYXJ0SWQaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSQQoSUmVzZXRE", - "ZWZhdWx0VmFsdWVzEhMucmVhY2h5LnBhcnQuUGFydElkGhYuZ29vZ2xlLnBy", - "b3RvYnVmLkVtcHR5EjUKBlR1cm5PbhITLnJlYWNoeS5wYXJ0LlBhcnRJZBoW", - "Lmdvb2dsZS5wcm90b2J1Zi5FbXB0eRI2CgdUdXJuT2ZmEhMucmVhY2h5LnBh", - "cnQuUGFydElkGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EkYKD0dldEpvaW50", - "c0xpbWl0cxITLnJlYWNoeS5wYXJ0LlBhcnRJZBoeLnJlYWNoeS5wYXJ0Lmhl", - "YWQuSm9pbnRzTGltaXRzEkoKD0dldFRlbXBlcmF0dXJlcxITLnJlYWNoeS5w", - "YXJ0LlBhcnRJZBoiLnJlYWNoeS5wYXJ0LmhlYWQuSGVhZFRlbXBlcmF0dXJl", - "cxJKChRHZXRKb2ludEdvYWxQb3NpdGlvbhITLnJlYWNoeS5wYXJ0LlBhcnRJ", - "ZBodLnJlYWNoeS5raW5lbWF0aWNzLlJvdGF0aW9uM2QSTAoNU2V0U3BlZWRM", - "aW1pdBIjLnJlYWNoeS5wYXJ0LmhlYWQuU3BlZWRMaW1pdFJlcXVlc3QaFi5n", - "b29nbGUucHJvdG9idWYuRW1wdHkSTgoOU2V0VG9ycXVlTGltaXQSJC5yZWFj", - "aHkucGFydC5oZWFkLlRvcnF1ZUxpbWl0UmVxdWVzdBoWLmdvb2dsZS5wcm90", - "b2J1Zi5FbXB0eRJMChFTZW5kTmVja0pvaW50R29hbBIfLnJlYWNoeS5wYXJ0", - "LmhlYWQuTmVja0pvaW50R29hbBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eWIG", - "cHJvdG8z")); + "cm90bxoOb3JiaXRhM2QucHJvdG8aFWR5bmFtaXhlbF9tb3Rvci5wcm90byJA", + "ChBDdXN0b21OZWNrSm9pbnRzEiwKBmpvaW50cxgBIAMoDjIcLnJlYWNoeS5w", + "YXJ0LmhlYWQuTmVja0pvaW50cyKJAQoESGVhZBIkCgdwYXJ0X2lkGAEgASgL", + "MhMucmVhY2h5LnBhcnQuUGFydElkEjYKC2Rlc2NyaXB0aW9uGAIgASgLMiEu", + "cmVhY2h5LnBhcnQuaGVhZC5IZWFkRGVzY3JpcHRpb24SIwoEaW5mbxgFIAEo", + "CzIVLnJlYWNoeS5wYXJ0LlBhcnRJbmZvIrkBCg9IZWFkRGVzY3JpcHRpb24S", + "KgoEbmVjaxgBIAEoCzIcLmNvbXBvbmVudC5vcmJpdGEzZC5PcmJpdGEzZBI8", + "CglsX2FudGVubmEYAiABKAsyKS5jb21wb25lbnQuZHluYW1peGVsX21vdG9y", + "LkR5bmFtaXhlbE1vdG9yEjwKCXJfYW50ZW5uYRgDIAEoCzIpLmNvbXBvbmVu", + "dC5keW5hbWl4ZWxfbW90b3IuRHluYW1peGVsTW90b3IiMgoKTGlzdE9mSGVh", + "ZBIkCgRoZWFkGAEgAygLMhYucmVhY2h5LnBhcnQuaGVhZC5IZWFkIrcCCglI", + "ZWFkU3RhdGUSLQoJdGltZXN0YW1wGAEgASgLMhouZ29vZ2xlLnByb3RvYnVm", + "LlRpbWVzdGFtcBIfCgJpZBgCIAEoCzITLnJlYWNoeS5wYXJ0LlBhcnRJZBIR", + "CglhY3RpdmF0ZWQYAyABKAgSNQoKbmVja19zdGF0ZRgEIAEoCzIhLmNvbXBv", + "bmVudC5vcmJpdGEzZC5PcmJpdGEzZFN0YXRlEkcKD2xfYW50ZW5uYV9zdGF0", + "ZRgFIAEoCzIuLmNvbXBvbmVudC5keW5hbWl4ZWxfbW90b3IuRHluYW1peGVs", + "TW90b3JTdGF0ZRJHCg9yX2FudGVubmFfc3RhdGUYBiABKAsyLi5jb21wb25l", + "bnQuZHluYW1peGVsX21vdG9yLkR5bmFtaXhlbE1vdG9yU3RhdGUitgEKDEhl", + "YWRQb3NpdGlvbhI0Cg1uZWNrX3Bvc2l0aW9uGAEgASgLMh0ucmVhY2h5Lmtp", + "bmVtYXRpY3MuUm90YXRpb24zZBI3ChJsX2FudGVubmFfcG9zaXRpb24YAiAB", + "KAsyGy5nb29nbGUucHJvdG9idWYuRmxvYXRWYWx1ZRI3ChJyX2FudGVubmFf", + "cG9zaXRpb24YAyABKAsyGy5nb29nbGUucHJvdG9idWYuRmxvYXRWYWx1ZSKM", + "AQoRTmVja0NhcnRlc2lhbkdvYWwSHwoCaWQYASABKAsyEy5yZWFjaHkucGFy", + "dC5QYXJ0SWQSJwoFcG9pbnQYAiABKAsyGC5yZWFjaHkua2luZW1hdGljcy5Q", + "b2ludBItCghkdXJhdGlvbhgDIAEoCzIbLmdvb2dsZS5wcm90b2J1Zi5GbG9h", + "dFZhbHVlIpcBCg1OZWNrSm9pbnRHb2FsEh8KAmlkGAEgASgLMhMucmVhY2h5", + "LnBhcnQuUGFydElkEjYKC2pvaW50c19nb2FsGAIgASgLMiEucmVhY2h5LnBh", + "cnQuaGVhZC5OZWNrT3JpZW50YXRpb24SLQoIZHVyYXRpb24YAyABKAsyGy5n", + "b29nbGUucHJvdG9idWYuRmxvYXRWYWx1ZSJCCg9OZWNrT3JpZW50YXRpb24S", + "LwoIcm90YXRpb24YASABKAsyHS5yZWFjaHkua2luZW1hdGljcy5Sb3RhdGlv", + "bjNkImIKDU5lY2tGS1JlcXVlc3QSHwoCaWQYASABKAsyEy5yZWFjaHkucGFy", + "dC5QYXJ0SWQSMAoIcG9zaXRpb24YAiABKAsyHi5yZWFjaHkucGFydC5oZWFk", + "LkhlYWRQb3NpdGlvbiJZCg5OZWNrRktTb2x1dGlvbhIPCgdzdWNjZXNzGAEg", + "ASgIEjYKC29yaWVudGF0aW9uGAIgASgLMiEucmVhY2h5LnBhcnQuaGVhZC5O", + "ZWNrT3JpZW50YXRpb24ijgEKDU5lY2tJS1JlcXVlc3QSHwoCaWQYASABKAsy", + "Ey5yZWFjaHkucGFydC5QYXJ0SWQSMQoGdGFyZ2V0GAIgASgLMiEucmVhY2h5", + "LnBhcnQuaGVhZC5OZWNrT3JpZW50YXRpb24SKQoCcTAYAyABKAsyHS5yZWFj", + "aHkua2luZW1hdGljcy5Sb3RhdGlvbjNkIm8KDk5lY2tJS1NvbHV0aW9uEg8K", + "B3N1Y2Nlc3MYASABKAgSLwoIcG9zaXRpb24YAiABKAsyHS5yZWFjaHkua2lu", + "ZW1hdGljcy5Sb3RhdGlvbjNkEhsKBWVycm9yGAMgASgLMgwuZXJyb3IuRXJy", + "b3Ii2wEKCkhlYWRTdGF0dXMSNwoLbmVja19zdGF0dXMYASABKAsyIi5jb21w", + "b25lbnQub3JiaXRhM2QuT3JiaXRhM2RTdGF0dXMSSQoQbF9hbnRlbm5hX3N0", + "YXR1cxgCIAEoCzIvLmNvbXBvbmVudC5keW5hbWl4ZWxfbW90b3IuRHluYW1p", + "eGVsTW90b3JTdGF0dXMSSQoQcl9hbnRlbm5hX3N0YXR1cxgDIAEoCzIvLmNv", + "bXBvbmVudC5keW5hbWl4ZWxfbW90b3IuRHluYW1peGVsTW90b3JTdGF0dXMi", + "QwoRU3BlZWRMaW1pdFJlcXVlc3QSHwoCaWQYASABKAsyEy5yZWFjaHkucGFy", + "dC5QYXJ0SWQSDQoFbGltaXQYAiABKA0iRAoSVG9ycXVlTGltaXRSZXF1ZXN0", + "Eh8KAmlkGAEgASgLMhMucmVhY2h5LnBhcnQuUGFydElkEg0KBWxpbWl0GAIg", + "ASgNIqUBCgxKb2ludHNMaW1pdHMSMQoLbmVja19saW1pdHMYASABKAsyHC5j", + "b21wb25lbnQub3JiaXRhM2QuTGltaXRzM2QSMAoQbF9hbnRlbm5hX2xpbWl0", + "cxgCIAEoCzIWLmNvbXBvbmVudC5Kb2ludExpbWl0cxIwChByX2FudGVubmFf", + "bGltaXRzGAMgASgLMhYuY29tcG9uZW50LkpvaW50TGltaXRzIocBChBIZWFk", + "VGVtcGVyYXR1cmVzEjUKEG5lY2tfdGVtcGVyYXR1cmUYASABKAsyGy5jb21w", + "b25lbnQub3JiaXRhM2QuRmxvYXQzZBIdChVsX2FudGVubmFfdGVtcGVyYXR1", + "cmUYAiABKAISHQoVcl9hbnRlbm5hX3RlbXBlcmF0dXJlGAMgASgCKtwBCglI", + "ZWFkRmllbGQSCAoETk9ORRAAEggKBE5BTUUQARIGCgJJRBACEhQKEFBSRVNF", + "TlRfUE9TSVRJT04QAxIRCg1QUkVTRU5UX1NQRUVEEAQSEAoMUFJFU0VOVF9M", + "T0FEEAUSDwoLVEVNUEVSQVRVUkUQBhIQCgxKT0lOVF9MSU1JVFMQBxINCglD", + "T01QTElBTlQQCBIRCg1HT0FMX1BPU0lUSU9OEAkSDwoLU1BFRURfTElNSVQQ", + "ChIQCgxUT1JRVUVfTElNSVQQCxIHCgNQSUQQDBIHCgNBTEwQDyoqCgpOZWNr", + "Sm9pbnRzEggKBFJPTEwQABIJCgVQSVRDSBABEgcKA1lBVxACMqoJCgtIZWFk", + "U2VydmljZRJDCgtHZXRBbGxIZWFkcxIWLmdvb2dsZS5wcm90b2J1Zi5FbXB0", + "eRocLnJlYWNoeS5wYXJ0LmhlYWQuTGlzdE9mSGVhZBI8CghHZXRTdGF0ZRIT", + "LnJlYWNoeS5wYXJ0LlBhcnRJZBobLnJlYWNoeS5wYXJ0LmhlYWQuSGVhZFN0", + "YXRlElIKDUNvbXB1dGVOZWNrRksSHy5yZWFjaHkucGFydC5oZWFkLk5lY2tG", + "S1JlcXVlc3QaIC5yZWFjaHkucGFydC5oZWFkLk5lY2tGS1NvbHV0aW9uElIK", + "DUNvbXB1dGVOZWNrSUsSHy5yZWFjaHkucGFydC5oZWFkLk5lY2tJS1JlcXVl", + "c3QaIC5yZWFjaHkucGFydC5oZWFkLk5lY2tJS1NvbHV0aW9uEkQKDkdldE9y", + "aWVudGF0aW9uEhMucmVhY2h5LnBhcnQuUGFydElkGh0ucmVhY2h5LmtpbmVt", + "YXRpY3MuUm90YXRpb24zZBI6CgVBdWRpdBITLnJlYWNoeS5wYXJ0LlBhcnRJ", + "ZBocLnJlYWNoeS5wYXJ0LmhlYWQuSGVhZFN0YXR1cxI4CglIZWFydEJlYXQS", + "Ey5yZWFjaHkucGFydC5QYXJ0SWQaFi5nb29nbGUucHJvdG9idWYuRW1wdHkS", + "NgoHUmVzdGFydBITLnJlYWNoeS5wYXJ0LlBhcnRJZBoWLmdvb2dsZS5wcm90", + "b2J1Zi5FbXB0eRJBChJSZXNldERlZmF1bHRWYWx1ZXMSEy5yZWFjaHkucGFy", + "dC5QYXJ0SWQaFi5nb29nbGUucHJvdG9idWYuRW1wdHkSNQoGVHVybk9uEhMu", + "cmVhY2h5LnBhcnQuUGFydElkGhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EjYK", + "B1R1cm5PZmYSEy5yZWFjaHkucGFydC5QYXJ0SWQaFi5nb29nbGUucHJvdG9i", + "dWYuRW1wdHkSRgoPR2V0Sm9pbnRzTGltaXRzEhMucmVhY2h5LnBhcnQuUGFy", + "dElkGh4ucmVhY2h5LnBhcnQuaGVhZC5Kb2ludHNMaW1pdHMSSgoPR2V0VGVt", + "cGVyYXR1cmVzEhMucmVhY2h5LnBhcnQuUGFydElkGiIucmVhY2h5LnBhcnQu", + "aGVhZC5IZWFkVGVtcGVyYXR1cmVzEkoKFEdldEpvaW50R29hbFBvc2l0aW9u", + "EhMucmVhY2h5LnBhcnQuUGFydElkGh0ucmVhY2h5LmtpbmVtYXRpY3MuUm90", + "YXRpb24zZBJMCg1TZXRTcGVlZExpbWl0EiMucmVhY2h5LnBhcnQuaGVhZC5T", + "cGVlZExpbWl0UmVxdWVzdBoWLmdvb2dsZS5wcm90b2J1Zi5FbXB0eRJOCg5T", + "ZXRUb3JxdWVMaW1pdBIkLnJlYWNoeS5wYXJ0LmhlYWQuVG9ycXVlTGltaXRS", + "ZXF1ZXN0GhYuZ29vZ2xlLnByb3RvYnVmLkVtcHR5EkwKEVNlbmROZWNrSm9p", + "bnRHb2FsEh8ucmVhY2h5LnBhcnQuaGVhZC5OZWNrSm9pbnRHb2FsGhYuZ29v", + "Z2xlLnByb3RvYnVmLkVtcHR5YgZwcm90bzM=")); descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData, new pbr::FileDescriptor[] { global::Google.Protobuf.WellKnownTypes.WrappersReflection.Descriptor, global::Google.Protobuf.WellKnownTypes.EmptyReflection.Descriptor, global::Google.Protobuf.WellKnownTypes.TimestampReflection.Descriptor, global::Reachy.Part.PartReflection.Descriptor, global::Reachy.Kinematics.KinematicsReflection.Descriptor, global::Error.ErrorReflection.Descriptor, global::Component.ComponentReflection.Descriptor, global::Component.Orbita3D.Orbita3DReflection.Descriptor, global::Component.DynamixelMotor.DynamixelMotorReflection.Descriptor, }, - new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Reachy.Part.Head.HeadField), }, null, new pbr::GeneratedClrTypeInfo[] { + new pbr::GeneratedClrTypeInfo(new[] {typeof(global::Reachy.Part.Head.HeadField), typeof(global::Reachy.Part.Head.NeckJoints), }, null, new pbr::GeneratedClrTypeInfo[] { + new pbr::GeneratedClrTypeInfo(typeof(global::Reachy.Part.Head.CustomNeckJoints), global::Reachy.Part.Head.CustomNeckJoints.Parser, new[]{ "Joints" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Reachy.Part.Head.Head), global::Reachy.Part.Head.Head.Parser, new[]{ "PartId", "Description", "Info" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Reachy.Part.Head.HeadDescription), global::Reachy.Part.Head.HeadDescription.Parser, new[]{ "Neck", "LAntenna", "RAntenna" }, null, null, null, null), new pbr::GeneratedClrTypeInfo(typeof(global::Reachy.Part.Head.ListOfHead), global::Reachy.Part.Head.ListOfHead.Parser, new[]{ "Head" }, null, null, null, null), @@ -157,9 +160,195 @@ public enum HeadField { [pbr::OriginalName("ALL")] All = 15, } + public enum NeckJoints { + [pbr::OriginalName("ROLL")] Roll = 0, + [pbr::OriginalName("PITCH")] Pitch = 1, + [pbr::OriginalName("YAW")] Yaw = 2, + } + #endregion #region Messages + public sealed partial class CustomNeckJoints : pb::IMessage + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + , pb::IBufferMessage + #endif + { + private static readonly pb::MessageParser _parser = new pb::MessageParser(() => new CustomNeckJoints()); + private pb::UnknownFieldSet _unknownFields; + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pb::MessageParser Parser { get { return _parser; } } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public static pbr::MessageDescriptor Descriptor { + get { return global::Reachy.Part.Head.HeadReflection.Descriptor.MessageTypes[0]; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + pbr::MessageDescriptor pb::IMessage.Descriptor { + get { return Descriptor; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public CustomNeckJoints() { + OnConstruction(); + } + + partial void OnConstruction(); + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public CustomNeckJoints(CustomNeckJoints other) : this() { + joints_ = other.joints_.Clone(); + _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public CustomNeckJoints Clone() { + return new CustomNeckJoints(this); + } + + /// Field number for the "joints" field. + public const int JointsFieldNumber = 1; + private static readonly pb::FieldCodec _repeated_joints_codec + = pb::FieldCodec.ForEnum(10, x => (int) x, x => (global::Reachy.Part.Head.NeckJoints) x); + private readonly pbc::RepeatedField joints_ = new pbc::RepeatedField(); + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public pbc::RepeatedField Joints { + get { return joints_; } + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override bool Equals(object other) { + return Equals(other as CustomNeckJoints); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public bool Equals(CustomNeckJoints other) { + if (ReferenceEquals(other, null)) { + return false; + } + if (ReferenceEquals(other, this)) { + return true; + } + if(!joints_.Equals(other.joints_)) return false; + return Equals(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override int GetHashCode() { + int hash = 1; + hash ^= joints_.GetHashCode(); + if (_unknownFields != null) { + hash ^= _unknownFields.GetHashCode(); + } + return hash; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public override string ToString() { + return pb::JsonFormatter.ToDiagnosticString(this); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void WriteTo(pb::CodedOutputStream output) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + output.WriteRawMessage(this); + #else + joints_.WriteTo(output, _repeated_joints_codec); + if (_unknownFields != null) { + _unknownFields.WriteTo(output); + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) { + joints_.WriteTo(ref output, _repeated_joints_codec); + if (_unknownFields != null) { + _unknownFields.WriteTo(ref output); + } + } + #endif + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public int CalculateSize() { + int size = 0; + size += joints_.CalculateSize(_repeated_joints_codec); + if (_unknownFields != null) { + size += _unknownFields.CalculateSize(); + } + return size; + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(CustomNeckJoints other) { + if (other == null) { + return; + } + joints_.Add(other.joints_); + _unknownFields = pb::UnknownFieldSet.MergeFrom(_unknownFields, other._unknownFields); + } + + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + public void MergeFrom(pb::CodedInputStream input) { + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + input.ReadRawMessage(this); + #else + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, input); + break; + case 10: + case 8: { + joints_.AddEntriesFrom(input, _repeated_joints_codec); + break; + } + } + } + #endif + } + + #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE + [global::System.Diagnostics.DebuggerNonUserCodeAttribute] + [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] + void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) { + uint tag; + while ((tag = input.ReadTag()) != 0) { + switch(tag) { + default: + _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input); + break; + case 10: + case 8: { + joints_.AddEntriesFrom(ref input, _repeated_joints_codec); + break; + } + } + } + } + #endif + + } + public sealed partial class Head : pb::IMessage #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE , pb::IBufferMessage @@ -174,7 +363,7 @@ public sealed partial class Head : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::Reachy.Part.Head.HeadReflection.Descriptor.MessageTypes[0]; } + get { return global::Reachy.Part.Head.HeadReflection.Descriptor.MessageTypes[1]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -464,7 +653,7 @@ public sealed partial class HeadDescription : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::Reachy.Part.Head.HeadReflection.Descriptor.MessageTypes[1]; } + get { return global::Reachy.Part.Head.HeadReflection.Descriptor.MessageTypes[2]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -754,7 +943,7 @@ public sealed partial class ListOfHead : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::Reachy.Part.Head.HeadReflection.Descriptor.MessageTypes[2]; } + get { return global::Reachy.Part.Head.HeadReflection.Descriptor.MessageTypes[3]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -932,7 +1121,7 @@ public sealed partial class HeadState : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::Reachy.Part.Head.HeadReflection.Descriptor.MessageTypes[3]; } + get { return global::Reachy.Part.Head.HeadReflection.Descriptor.MessageTypes[4]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -1351,7 +1540,7 @@ public sealed partial class HeadPosition : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::Reachy.Part.Head.HeadReflection.Descriptor.MessageTypes[4]; } + get { return global::Reachy.Part.Head.HeadReflection.Descriptor.MessageTypes[5]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -1639,7 +1828,7 @@ public sealed partial class NeckCartesianGoal : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::Reachy.Part.Head.HeadReflection.Descriptor.MessageTypes[5]; } + get { return global::Reachy.Part.Head.HeadReflection.Descriptor.MessageTypes[6]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -1928,7 +2117,7 @@ public sealed partial class NeckJointGoal : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::Reachy.Part.Head.HeadReflection.Descriptor.MessageTypes[6]; } + get { return global::Reachy.Part.Head.HeadReflection.Descriptor.MessageTypes[7]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -2217,7 +2406,7 @@ public sealed partial class NeckOrientation : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::Reachy.Part.Head.HeadReflection.Descriptor.MessageTypes[7]; } + get { return global::Reachy.Part.Head.HeadReflection.Descriptor.MessageTypes[8]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -2415,7 +2604,7 @@ public sealed partial class NeckFKRequest : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::Reachy.Part.Head.HeadReflection.Descriptor.MessageTypes[8]; } + get { return global::Reachy.Part.Head.HeadReflection.Descriptor.MessageTypes[9]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -2659,7 +2848,7 @@ public sealed partial class NeckFKSolution : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::Reachy.Part.Head.HeadReflection.Descriptor.MessageTypes[9]; } + get { return global::Reachy.Part.Head.HeadReflection.Descriptor.MessageTypes[10]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -2894,7 +3083,7 @@ public sealed partial class NeckIKRequest : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::Reachy.Part.Head.HeadReflection.Descriptor.MessageTypes[10]; } + get { return global::Reachy.Part.Head.HeadReflection.Descriptor.MessageTypes[11]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -3184,7 +3373,7 @@ public sealed partial class NeckIKSolution : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::Reachy.Part.Head.HeadReflection.Descriptor.MessageTypes[11]; } + get { return global::Reachy.Part.Head.HeadReflection.Descriptor.MessageTypes[12]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -3465,7 +3654,7 @@ public sealed partial class HeadStatus : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::Reachy.Part.Head.HeadReflection.Descriptor.MessageTypes[12]; } + get { return global::Reachy.Part.Head.HeadReflection.Descriptor.MessageTypes[13]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -3755,7 +3944,7 @@ public sealed partial class SpeedLimitRequest : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::Reachy.Part.Head.HeadReflection.Descriptor.MessageTypes[13]; } + get { return global::Reachy.Part.Head.HeadReflection.Descriptor.MessageTypes[14]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -3990,7 +4179,7 @@ public sealed partial class TorqueLimitRequest : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::Reachy.Part.Head.HeadReflection.Descriptor.MessageTypes[15]; } + get { return global::Reachy.Part.Head.HeadReflection.Descriptor.MessageTypes[16]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] @@ -4515,7 +4704,7 @@ public sealed partial class HeadTemperatures : pb::IMessage [global::System.Diagnostics.DebuggerNonUserCodeAttribute] [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)] public static pbr::MessageDescriptor Descriptor { - get { return global::Reachy.Part.Head.HeadReflection.Descriptor.MessageTypes[16]; } + get { return global::Reachy.Part.Head.HeadReflection.Descriptor.MessageTypes[17]; } } [global::System.Diagnostics.DebuggerNonUserCodeAttribute] diff --git a/protos/arm.proto b/protos/arm.proto index 842a777..f6e1bfd 100644 --- a/protos/arm.proto +++ b/protos/arm.proto @@ -33,6 +33,16 @@ enum ArmField { ALL = 15; } +enum ArmJoints { + SHOULDER_PITCH = 0; + SHOULDER_ROLL = 1; + ELBOW_YAW = 2; + ELBOW_PITCH = 3; + WRIST_ROLL = 4; + WRIST_PITCH = 5; + WRIST_YAW = 6; +} + enum IKConstrainedMode { UNDEFINED_CONSTRAINED_MODE = 0; UNCONSTRAINED = 1; @@ -55,6 +65,10 @@ enum ReachabilityError { OTHER = 6; } +message CustomArmJoints { + repeated ArmJoints joints = 1; +} + message ArmState { google.protobuf.Timestamp timestamp = 1; diff --git a/protos/goto.proto b/protos/goto.proto index d1a980c..830f5fb 100644 --- a/protos/goto.proto +++ b/protos/goto.proto @@ -1,6 +1,7 @@ syntax = "proto3"; import "google/protobuf/empty.proto"; +import "google/protobuf/wrappers.proto"; import "arm.proto"; import "head.proto"; @@ -31,18 +32,29 @@ message GoToGoalStatus { message CartesianGoal { oneof cartesian_goal { - reachy.part.arm.ArmCartesianGoal arm_cartesian_goal=1; - reachy.part.head.NeckCartesianGoal neck_cartesian_goal=2; + reachy.part.arm.ArmCartesianGoal arm_cartesian_goal = 1; + reachy.part.head.NeckCartesianGoal neck_cartesian_goal = 2; } } message JointsGoal { oneof joints_goal { - reachy.part.arm.ArmJointGoal arm_joint_goal=1; - reachy.part.head.NeckJointGoal neck_joint_goal=2; + reachy.part.arm.ArmJointGoal arm_joint_goal = 1; + reachy.part.head.NeckJointGoal neck_joint_goal = 2; + CustomJointGoal custom_joint_goal = 3; } } +message CustomJointGoal { + reachy.part.PartId id = 1; + oneof joints { + reachy.part.arm.CustomArmJoints arm_joints = 2; + reachy.part.head.CustomNeckJoints neck_joints = 3; + } + repeated google.protobuf.FloatValue joints_goals = 4; + google.protobuf.FloatValue duration = 10; +} + enum InterpolationMode { NONE_INTERPOLATION = 0; LINEAR = 1; @@ -55,8 +67,8 @@ message GoToInterpolation { message GoToRequest { oneof goal { - CartesianGoal cartesian_goal=1; - JointsGoal joints_goal=2; + CartesianGoal cartesian_goal = 1; + JointsGoal joints_goal = 2; } GoToInterpolation interpolation_mode = 3; } diff --git a/protos/head.proto b/protos/head.proto index 508695f..509acc0 100644 --- a/protos/head.proto +++ b/protos/head.proto @@ -34,6 +34,16 @@ enum HeadField { ALL = 15; } +enum NeckJoints { + ROLL = 0; + PITCH = 1; + YAW = 2; +} + +message CustomNeckJoints { + repeated NeckJoints joints = 1; +} + message Head { PartId part_id = 1; HeadDescription description = 2; diff --git a/python/reachy2_sdk_api/arm_pb2.py b/python/reachy2_sdk_api/arm_pb2.py index bbc4739..f4a6f87 100644 --- a/python/reachy2_sdk_api/arm_pb2.py +++ b/python/reachy2_sdk_api/arm_pb2.py @@ -21,57 +21,61 @@ import orbita3d_pb2 as orbita3d__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\tarm.proto\x12\x0freachy.part.arm\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\npart.proto\x1a\x10kinematics.proto\x1a\x0b\x65rror.proto\x1a\x0eorbita2d.proto\x1a\x0eorbita3d.proto\"\xd3\x02\n\x08\x41rmState\x12-\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1f\n\x02id\x18\x02 \x01(\x0b\x32\x13.reachy.part.PartId\x12\x11\n\tactivated\x18\x03 \x01(\x08\x12\x39\n\x0eshoulder_state\x18\x04 \x01(\x0b\x32!.component.orbita2d.Orbita2dState\x12\x36\n\x0b\x65lbow_state\x18\x05 \x01(\x0b\x32!.component.orbita2d.Orbita2dState\x12\x36\n\x0bwrist_state\x18\x06 \x01(\x0b\x32!.component.orbita3d.Orbita3dState\x12\x39\n\x0creachability\x18\n \x03(\x0b\x32#.reachy.part.arm.ReachabilityAnswer\"\xae\x01\n\x12ReachabilityAnswer\x12-\n\x08order_id\x18\x01 \x01(\x0b\x32\x1b.google.protobuf.Int32Value\x12\x30\n\x0cis_reachable\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x37\n\x0b\x64\x65scription\x18\x03 \x01(\x0e\x32\".reachy.part.arm.ReachabilityError\"\x9a\x01\n\x0e\x41rmDescription\x12.\n\x08shoulder\x18\x01 \x01(\x0b\x32\x1c.component.orbita2d.Orbita2d\x12+\n\x05\x65lbow\x18\x02 \x01(\x0b\x32\x1c.component.orbita2d.Orbita2d\x12+\n\x05wrist\x18\x03 \x01(\x0b\x32\x1c.component.orbita3d.Orbita3d\"\x86\x01\n\x03\x41rm\x12$\n\x07part_id\x18\x01 \x01(\x0b\x32\x13.reachy.part.PartId\x12\x34\n\x0b\x64\x65scription\x18\x02 \x01(\x0b\x32\x1f.reachy.part.arm.ArmDescription\x12#\n\x04info\x18\x05 \x01(\x0b\x32\x15.reachy.part.PartInfo\".\n\tListOfArm\x12!\n\x03\x61rm\x18\x01 \x03(\x0b\x32\x14.reachy.part.arm.Arm\"\xaf\x01\n\x0b\x41rmPosition\x12\x35\n\x11shoulder_position\x18\x01 \x01(\x0b\x32\x1a.component.orbita2d.Pose2d\x12\x32\n\x0e\x65lbow_position\x18\x02 \x01(\x0b\x32\x1a.component.orbita2d.Pose2d\x12\x35\n\x0ewrist_position\x18\x03 \x01(\x0b\x32\x1d.reachy.kinematics.Rotation3d\"\xe2\x04\n\x10\x41rmCartesianGoal\x12\x1f\n\x02id\x18\x01 \x01(\x0b\x32\x13.reachy.part.PartId\x12/\n\tgoal_pose\x18\x02 \x01(\x0b\x32\x1c.reachy.kinematics.Matrix4x4\x12\x46\n\x12position_tolerance\x18\x03 \x01(\x0b\x32*.reachy.kinematics.PointDistanceTolerances\x12J\n\x15orientation_tolerance\x18\x04 \x01(\x0b\x32+.reachy.kinematics.ExtEulerAnglesTolerances\x12(\n\x02q0\x18\x05 \x01(\x0b\x32\x1c.reachy.part.arm.ArmPosition\x12<\n\x10\x63onstrained_mode\x18\x06 \x01(\x0e\x32\".reachy.part.arm.IKConstrainedMode\x12\x34\n\x0fpreferred_theta\x18\x07 \x01(\x0b\x32\x1b.google.protobuf.FloatValue\x12\x30\n\x0b\x64_theta_max\x18\x08 \x01(\x0b\x32\x1b.google.protobuf.FloatValue\x12:\n\x0f\x63ontinuous_mode\x18\t \x01(\x0e\x32!.reachy.part.arm.IKContinuousMode\x12-\n\x08\x64uration\x18\n \x01(\x0b\x32\x1b.google.protobuf.FloatValue\x12-\n\x08order_id\x18\x0f \x01(\x0b\x32\x1b.google.protobuf.Int32Value\"\x91\x01\n\x0c\x41rmJointGoal\x12\x1f\n\x02id\x18\x01 \x01(\x0b\x32\x13.reachy.part.PartId\x12\x31\n\x0bjoints_goal\x18\x02 \x01(\x0b\x32\x1c.reachy.part.arm.ArmPosition\x12-\n\x08\x64uration\x18\x03 \x01(\x0b\x32\x1b.google.protobuf.FloatValue\"<\n\x0e\x41rmEndEffector\x12*\n\x04pose\x18\x01 \x01(\x0b\x32\x1c.reachy.kinematics.Matrix4x4\"_\n\x0c\x41rmFKRequest\x12\x1f\n\x02id\x18\x01 \x01(\x0b\x32\x13.reachy.part.PartId\x12.\n\x08position\x18\x02 \x01(\x0b\x32\x1c.reachy.part.arm.ArmPosition\"W\n\rArmFKSolution\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x35\n\x0c\x65nd_effector\x18\x02 \x01(\x0b\x32\x1f.reachy.part.arm.ArmEndEffector\"\x8a\x01\n\x0c\x41rmIKRequest\x12\x1f\n\x02id\x18\x01 \x01(\x0b\x32\x13.reachy.part.PartId\x12/\n\x06target\x18\x02 \x01(\x0b\x32\x1f.reachy.part.arm.ArmEndEffector\x12(\n\x02q0\x18\x03 \x01(\x0b\x32\x1c.reachy.part.arm.ArmPosition\"q\n\rArmIKSolution\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x32\n\x0c\x61rm_position\x18\x02 \x01(\x0b\x32\x1c.reachy.part.arm.ArmPosition\x12\x1b\n\x05\x65rror\x18\x03 \x01(\x0b\x32\x0c.error.Error\"\xbc\x01\n\tArmStatus\x12;\n\x0fshoulder_status\x18\x01 \x01(\x0b\x32\".component.orbita2d.Orbita2dStatus\x12\x38\n\x0c\x65lbow_status\x18\x02 \x01(\x0b\x32\".component.orbita2d.Orbita2dStatus\x12\x38\n\x0cwrist_status\x18\x03 \x01(\x0b\x32\".component.orbita3d.Orbita3dStatus\"C\n\x11SpeedLimitRequest\x12\x1f\n\x02id\x18\x01 \x01(\x0b\x32\x13.reachy.part.PartId\x12\r\n\x05limit\x18\x02 \x01(\r\"D\n\x12TorqueLimitRequest\x12\x1f\n\x02id\x18\x01 \x01(\x0b\x32\x13.reachy.part.PartId\x12\r\n\x05limit\x18\x02 \x01(\r\"\xaa\x01\n\tArmLimits\x12\x35\n\x0fshoulder_limits\x18\x01 \x01(\x0b\x32\x1c.component.orbita2d.Limits2d\x12\x32\n\x0c\x65lbow_limits\x18\x02 \x01(\x0b\x32\x1c.component.orbita2d.Limits2d\x12\x32\n\x0cwrist_limits\x18\x03 \x01(\x0b\x32\x1c.component.orbita3d.Limits3d\"\xbc\x01\n\x0f\x41rmTemperatures\x12\x39\n\x14shoulder_temperature\x18\x01 \x01(\x0b\x32\x1b.component.orbita2d.Float2d\x12\x36\n\x11\x65lbow_temperature\x18\x02 \x01(\x0b\x32\x1b.component.orbita2d.Float2d\x12\x36\n\x11wrist_temperature\x18\x03 \x01(\x0b\x32\x1b.component.orbita3d.Float3d*\xdb\x01\n\x08\x41rmField\x12\x08\n\x04NONE\x10\x00\x12\x08\n\x04NAME\x10\x01\x12\x06\n\x02ID\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\x10\n\x0cJOINT_LIMITS\x10\x07\x12\r\n\tCOMPLIANT\x10\x08\x12\x11\n\rGOAL_POSITION\x10\t\x12\x0f\n\x0bSPEED_LIMIT\x10\n\x12\x10\n\x0cTORQUE_LIMIT\x10\x0b\x12\x07\n\x03PID\x10\x0c\x12\x07\n\x03\x41LL\x10\x0f*U\n\x11IKConstrainedMode\x12\x1e\n\x1aUNDEFINED_CONSTRAINED_MODE\x10\x00\x12\x11\n\rUNCONSTRAINED\x10\x01\x12\r\n\tLOW_ELBOW\x10\x02*O\n\x10IKContinuousMode\x12\x1d\n\x19UNDEFINED_CONTINUOUS_MODE\x10\x00\x12\x0e\n\nCONTINUOUS\x10\x01\x12\x0c\n\x08\x44ISCRETE\x10\x02*\x8c\x01\n\x11ReachabilityError\x12\x0c\n\x08NO_ERROR\x10\x00\x12\x12\n\x0e\x44ISTANCE_LIMIT\x10\x01\x12\x12\n\x0eSHOULDER_LIMIT\x10\x02\x12\x0f\n\x0b\x45LBOW_LIMIT\x10\x03\x12\x0f\n\x0bWRIST_LIMIT\x10\x04\x12\x14\n\x10\x43ONTINUITY_LIMIT\x10\x05\x12\t\n\x05OTHER\x10\x06\x32\xe0\t\n\nArmService\x12@\n\nGetAllArms\x12\x16.google.protobuf.Empty\x1a\x1a.reachy.part.arm.ListOfArm\x12:\n\x08GetState\x12\x13.reachy.part.PartId\x1a\x19.reachy.part.arm.ArmState\x12M\n\x0c\x43omputeArmFK\x12\x1d.reachy.part.arm.ArmFKRequest\x1a\x1e.reachy.part.arm.ArmFKSolution\x12M\n\x0c\x43omputeArmIK\x12\x1d.reachy.part.arm.ArmIKRequest\x1a\x1e.reachy.part.arm.ArmIKSolution\x12I\n\x14GetCartesianPosition\x12\x13.reachy.part.PartId\x1a\x1c.reachy.kinematics.Matrix4x4\x12\x45\n\x10GetJointPosition\x12\x13.reachy.part.PartId\x1a\x1c.reachy.part.arm.ArmPosition\x12\x38\n\x05\x41udit\x12\x13.reachy.part.PartId\x1a\x1a.reachy.part.arm.ArmStatus\x12\x38\n\tHeartBeat\x12\x13.reachy.part.PartId\x1a\x16.google.protobuf.Empty\x12\x36\n\x07Restart\x12\x13.reachy.part.PartId\x1a\x16.google.protobuf.Empty\x12\x41\n\x12ResetDefaultValues\x12\x13.reachy.part.PartId\x1a\x16.google.protobuf.Empty\x12\x35\n\x06TurnOn\x12\x13.reachy.part.PartId\x1a\x16.google.protobuf.Empty\x12\x36\n\x07TurnOff\x12\x13.reachy.part.PartId\x1a\x16.google.protobuf.Empty\x12\x42\n\x0fGetJointsLimits\x12\x13.reachy.part.PartId\x1a\x1a.reachy.part.arm.ArmLimits\x12H\n\x0fGetTemperatures\x12\x13.reachy.part.PartId\x1a .reachy.part.arm.ArmTemperatures\x12I\n\x14GetJointGoalPosition\x12\x13.reachy.part.PartId\x1a\x1c.reachy.part.arm.ArmPosition\x12K\n\rSetSpeedLimit\x12\".reachy.part.arm.SpeedLimitRequest\x1a\x16.google.protobuf.Empty\x12M\n\x0eSetTorqueLimit\x12#.reachy.part.arm.TorqueLimitRequest\x1a\x16.google.protobuf.Empty\x12Q\n\x14SendArmCartesianGoal\x12!.reachy.part.arm.ArmCartesianGoal\x1a\x16.google.protobuf.Emptyb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\tarm.proto\x12\x0freachy.part.arm\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\npart.proto\x1a\x10kinematics.proto\x1a\x0b\x65rror.proto\x1a\x0eorbita2d.proto\x1a\x0eorbita3d.proto\"=\n\x0f\x43ustomArmJoints\x12*\n\x06joints\x18\x01 \x03(\x0e\x32\x1a.reachy.part.arm.ArmJoints\"\xd3\x02\n\x08\x41rmState\x12-\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1f\n\x02id\x18\x02 \x01(\x0b\x32\x13.reachy.part.PartId\x12\x11\n\tactivated\x18\x03 \x01(\x08\x12\x39\n\x0eshoulder_state\x18\x04 \x01(\x0b\x32!.component.orbita2d.Orbita2dState\x12\x36\n\x0b\x65lbow_state\x18\x05 \x01(\x0b\x32!.component.orbita2d.Orbita2dState\x12\x36\n\x0bwrist_state\x18\x06 \x01(\x0b\x32!.component.orbita3d.Orbita3dState\x12\x39\n\x0creachability\x18\n \x03(\x0b\x32#.reachy.part.arm.ReachabilityAnswer\"\xae\x01\n\x12ReachabilityAnswer\x12-\n\x08order_id\x18\x01 \x01(\x0b\x32\x1b.google.protobuf.Int32Value\x12\x30\n\x0cis_reachable\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.BoolValue\x12\x37\n\x0b\x64\x65scription\x18\x03 \x01(\x0e\x32\".reachy.part.arm.ReachabilityError\"\x9a\x01\n\x0e\x41rmDescription\x12.\n\x08shoulder\x18\x01 \x01(\x0b\x32\x1c.component.orbita2d.Orbita2d\x12+\n\x05\x65lbow\x18\x02 \x01(\x0b\x32\x1c.component.orbita2d.Orbita2d\x12+\n\x05wrist\x18\x03 \x01(\x0b\x32\x1c.component.orbita3d.Orbita3d\"\x86\x01\n\x03\x41rm\x12$\n\x07part_id\x18\x01 \x01(\x0b\x32\x13.reachy.part.PartId\x12\x34\n\x0b\x64\x65scription\x18\x02 \x01(\x0b\x32\x1f.reachy.part.arm.ArmDescription\x12#\n\x04info\x18\x05 \x01(\x0b\x32\x15.reachy.part.PartInfo\".\n\tListOfArm\x12!\n\x03\x61rm\x18\x01 \x03(\x0b\x32\x14.reachy.part.arm.Arm\"\xaf\x01\n\x0b\x41rmPosition\x12\x35\n\x11shoulder_position\x18\x01 \x01(\x0b\x32\x1a.component.orbita2d.Pose2d\x12\x32\n\x0e\x65lbow_position\x18\x02 \x01(\x0b\x32\x1a.component.orbita2d.Pose2d\x12\x35\n\x0ewrist_position\x18\x03 \x01(\x0b\x32\x1d.reachy.kinematics.Rotation3d\"\xe2\x04\n\x10\x41rmCartesianGoal\x12\x1f\n\x02id\x18\x01 \x01(\x0b\x32\x13.reachy.part.PartId\x12/\n\tgoal_pose\x18\x02 \x01(\x0b\x32\x1c.reachy.kinematics.Matrix4x4\x12\x46\n\x12position_tolerance\x18\x03 \x01(\x0b\x32*.reachy.kinematics.PointDistanceTolerances\x12J\n\x15orientation_tolerance\x18\x04 \x01(\x0b\x32+.reachy.kinematics.ExtEulerAnglesTolerances\x12(\n\x02q0\x18\x05 \x01(\x0b\x32\x1c.reachy.part.arm.ArmPosition\x12<\n\x10\x63onstrained_mode\x18\x06 \x01(\x0e\x32\".reachy.part.arm.IKConstrainedMode\x12\x34\n\x0fpreferred_theta\x18\x07 \x01(\x0b\x32\x1b.google.protobuf.FloatValue\x12\x30\n\x0b\x64_theta_max\x18\x08 \x01(\x0b\x32\x1b.google.protobuf.FloatValue\x12:\n\x0f\x63ontinuous_mode\x18\t \x01(\x0e\x32!.reachy.part.arm.IKContinuousMode\x12-\n\x08\x64uration\x18\n \x01(\x0b\x32\x1b.google.protobuf.FloatValue\x12-\n\x08order_id\x18\x0f \x01(\x0b\x32\x1b.google.protobuf.Int32Value\"\x91\x01\n\x0c\x41rmJointGoal\x12\x1f\n\x02id\x18\x01 \x01(\x0b\x32\x13.reachy.part.PartId\x12\x31\n\x0bjoints_goal\x18\x02 \x01(\x0b\x32\x1c.reachy.part.arm.ArmPosition\x12-\n\x08\x64uration\x18\x03 \x01(\x0b\x32\x1b.google.protobuf.FloatValue\"<\n\x0e\x41rmEndEffector\x12*\n\x04pose\x18\x01 \x01(\x0b\x32\x1c.reachy.kinematics.Matrix4x4\"_\n\x0c\x41rmFKRequest\x12\x1f\n\x02id\x18\x01 \x01(\x0b\x32\x13.reachy.part.PartId\x12.\n\x08position\x18\x02 \x01(\x0b\x32\x1c.reachy.part.arm.ArmPosition\"W\n\rArmFKSolution\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x35\n\x0c\x65nd_effector\x18\x02 \x01(\x0b\x32\x1f.reachy.part.arm.ArmEndEffector\"\x8a\x01\n\x0c\x41rmIKRequest\x12\x1f\n\x02id\x18\x01 \x01(\x0b\x32\x13.reachy.part.PartId\x12/\n\x06target\x18\x02 \x01(\x0b\x32\x1f.reachy.part.arm.ArmEndEffector\x12(\n\x02q0\x18\x03 \x01(\x0b\x32\x1c.reachy.part.arm.ArmPosition\"q\n\rArmIKSolution\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x32\n\x0c\x61rm_position\x18\x02 \x01(\x0b\x32\x1c.reachy.part.arm.ArmPosition\x12\x1b\n\x05\x65rror\x18\x03 \x01(\x0b\x32\x0c.error.Error\"\xbc\x01\n\tArmStatus\x12;\n\x0fshoulder_status\x18\x01 \x01(\x0b\x32\".component.orbita2d.Orbita2dStatus\x12\x38\n\x0c\x65lbow_status\x18\x02 \x01(\x0b\x32\".component.orbita2d.Orbita2dStatus\x12\x38\n\x0cwrist_status\x18\x03 \x01(\x0b\x32\".component.orbita3d.Orbita3dStatus\"C\n\x11SpeedLimitRequest\x12\x1f\n\x02id\x18\x01 \x01(\x0b\x32\x13.reachy.part.PartId\x12\r\n\x05limit\x18\x02 \x01(\r\"D\n\x12TorqueLimitRequest\x12\x1f\n\x02id\x18\x01 \x01(\x0b\x32\x13.reachy.part.PartId\x12\r\n\x05limit\x18\x02 \x01(\r\"\xaa\x01\n\tArmLimits\x12\x35\n\x0fshoulder_limits\x18\x01 \x01(\x0b\x32\x1c.component.orbita2d.Limits2d\x12\x32\n\x0c\x65lbow_limits\x18\x02 \x01(\x0b\x32\x1c.component.orbita2d.Limits2d\x12\x32\n\x0cwrist_limits\x18\x03 \x01(\x0b\x32\x1c.component.orbita3d.Limits3d\"\xbc\x01\n\x0f\x41rmTemperatures\x12\x39\n\x14shoulder_temperature\x18\x01 \x01(\x0b\x32\x1b.component.orbita2d.Float2d\x12\x36\n\x11\x65lbow_temperature\x18\x02 \x01(\x0b\x32\x1b.component.orbita2d.Float2d\x12\x36\n\x11wrist_temperature\x18\x03 \x01(\x0b\x32\x1b.component.orbita3d.Float3d*\xdb\x01\n\x08\x41rmField\x12\x08\n\x04NONE\x10\x00\x12\x08\n\x04NAME\x10\x01\x12\x06\n\x02ID\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\x10\n\x0cJOINT_LIMITS\x10\x07\x12\r\n\tCOMPLIANT\x10\x08\x12\x11\n\rGOAL_POSITION\x10\t\x12\x0f\n\x0bSPEED_LIMIT\x10\n\x12\x10\n\x0cTORQUE_LIMIT\x10\x0b\x12\x07\n\x03PID\x10\x0c\x12\x07\n\x03\x41LL\x10\x0f*\x82\x01\n\tArmJoints\x12\x12\n\x0eSHOULDER_PITCH\x10\x00\x12\x11\n\rSHOULDER_ROLL\x10\x01\x12\r\n\tELBOW_YAW\x10\x02\x12\x0f\n\x0b\x45LBOW_PITCH\x10\x03\x12\x0e\n\nWRIST_ROLL\x10\x04\x12\x0f\n\x0bWRIST_PITCH\x10\x05\x12\r\n\tWRIST_YAW\x10\x06*U\n\x11IKConstrainedMode\x12\x1e\n\x1aUNDEFINED_CONSTRAINED_MODE\x10\x00\x12\x11\n\rUNCONSTRAINED\x10\x01\x12\r\n\tLOW_ELBOW\x10\x02*O\n\x10IKContinuousMode\x12\x1d\n\x19UNDEFINED_CONTINUOUS_MODE\x10\x00\x12\x0e\n\nCONTINUOUS\x10\x01\x12\x0c\n\x08\x44ISCRETE\x10\x02*\x8c\x01\n\x11ReachabilityError\x12\x0c\n\x08NO_ERROR\x10\x00\x12\x12\n\x0e\x44ISTANCE_LIMIT\x10\x01\x12\x12\n\x0eSHOULDER_LIMIT\x10\x02\x12\x0f\n\x0b\x45LBOW_LIMIT\x10\x03\x12\x0f\n\x0bWRIST_LIMIT\x10\x04\x12\x14\n\x10\x43ONTINUITY_LIMIT\x10\x05\x12\t\n\x05OTHER\x10\x06\x32\xe0\t\n\nArmService\x12@\n\nGetAllArms\x12\x16.google.protobuf.Empty\x1a\x1a.reachy.part.arm.ListOfArm\x12:\n\x08GetState\x12\x13.reachy.part.PartId\x1a\x19.reachy.part.arm.ArmState\x12M\n\x0c\x43omputeArmFK\x12\x1d.reachy.part.arm.ArmFKRequest\x1a\x1e.reachy.part.arm.ArmFKSolution\x12M\n\x0c\x43omputeArmIK\x12\x1d.reachy.part.arm.ArmIKRequest\x1a\x1e.reachy.part.arm.ArmIKSolution\x12I\n\x14GetCartesianPosition\x12\x13.reachy.part.PartId\x1a\x1c.reachy.kinematics.Matrix4x4\x12\x45\n\x10GetJointPosition\x12\x13.reachy.part.PartId\x1a\x1c.reachy.part.arm.ArmPosition\x12\x38\n\x05\x41udit\x12\x13.reachy.part.PartId\x1a\x1a.reachy.part.arm.ArmStatus\x12\x38\n\tHeartBeat\x12\x13.reachy.part.PartId\x1a\x16.google.protobuf.Empty\x12\x36\n\x07Restart\x12\x13.reachy.part.PartId\x1a\x16.google.protobuf.Empty\x12\x41\n\x12ResetDefaultValues\x12\x13.reachy.part.PartId\x1a\x16.google.protobuf.Empty\x12\x35\n\x06TurnOn\x12\x13.reachy.part.PartId\x1a\x16.google.protobuf.Empty\x12\x36\n\x07TurnOff\x12\x13.reachy.part.PartId\x1a\x16.google.protobuf.Empty\x12\x42\n\x0fGetJointsLimits\x12\x13.reachy.part.PartId\x1a\x1a.reachy.part.arm.ArmLimits\x12H\n\x0fGetTemperatures\x12\x13.reachy.part.PartId\x1a .reachy.part.arm.ArmTemperatures\x12I\n\x14GetJointGoalPosition\x12\x13.reachy.part.PartId\x1a\x1c.reachy.part.arm.ArmPosition\x12K\n\rSetSpeedLimit\x12\".reachy.part.arm.SpeedLimitRequest\x1a\x16.google.protobuf.Empty\x12M\n\x0eSetTorqueLimit\x12#.reachy.part.arm.TorqueLimitRequest\x1a\x16.google.protobuf.Empty\x12Q\n\x14SendArmCartesianGoal\x12!.reachy.part.arm.ArmCartesianGoal\x1a\x16.google.protobuf.Emptyb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'arm_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - _globals['_ARMFIELD']._serialized_start=3198 - _globals['_ARMFIELD']._serialized_end=3417 - _globals['_IKCONSTRAINEDMODE']._serialized_start=3419 - _globals['_IKCONSTRAINEDMODE']._serialized_end=3504 - _globals['_IKCONTINUOUSMODE']._serialized_start=3506 - _globals['_IKCONTINUOUSMODE']._serialized_end=3585 - _globals['_REACHABILITYERROR']._serialized_start=3588 - _globals['_REACHABILITYERROR']._serialized_end=3728 - _globals['_ARMSTATE']._serialized_start=200 - _globals['_ARMSTATE']._serialized_end=539 - _globals['_REACHABILITYANSWER']._serialized_start=542 - _globals['_REACHABILITYANSWER']._serialized_end=716 - _globals['_ARMDESCRIPTION']._serialized_start=719 - _globals['_ARMDESCRIPTION']._serialized_end=873 - _globals['_ARM']._serialized_start=876 - _globals['_ARM']._serialized_end=1010 - _globals['_LISTOFARM']._serialized_start=1012 - _globals['_LISTOFARM']._serialized_end=1058 - _globals['_ARMPOSITION']._serialized_start=1061 - _globals['_ARMPOSITION']._serialized_end=1236 - _globals['_ARMCARTESIANGOAL']._serialized_start=1239 - _globals['_ARMCARTESIANGOAL']._serialized_end=1849 - _globals['_ARMJOINTGOAL']._serialized_start=1852 - _globals['_ARMJOINTGOAL']._serialized_end=1997 - _globals['_ARMENDEFFECTOR']._serialized_start=1999 - _globals['_ARMENDEFFECTOR']._serialized_end=2059 - _globals['_ARMFKREQUEST']._serialized_start=2061 - _globals['_ARMFKREQUEST']._serialized_end=2156 - _globals['_ARMFKSOLUTION']._serialized_start=2158 - _globals['_ARMFKSOLUTION']._serialized_end=2245 - _globals['_ARMIKREQUEST']._serialized_start=2248 - _globals['_ARMIKREQUEST']._serialized_end=2386 - _globals['_ARMIKSOLUTION']._serialized_start=2388 - _globals['_ARMIKSOLUTION']._serialized_end=2501 - _globals['_ARMSTATUS']._serialized_start=2504 - _globals['_ARMSTATUS']._serialized_end=2692 - _globals['_SPEEDLIMITREQUEST']._serialized_start=2694 - _globals['_SPEEDLIMITREQUEST']._serialized_end=2761 - _globals['_TORQUELIMITREQUEST']._serialized_start=2763 - _globals['_TORQUELIMITREQUEST']._serialized_end=2831 - _globals['_ARMLIMITS']._serialized_start=2834 - _globals['_ARMLIMITS']._serialized_end=3004 - _globals['_ARMTEMPERATURES']._serialized_start=3007 - _globals['_ARMTEMPERATURES']._serialized_end=3195 - _globals['_ARMSERVICE']._serialized_start=3731 - _globals['_ARMSERVICE']._serialized_end=4979 + _globals['_ARMFIELD']._serialized_start=3261 + _globals['_ARMFIELD']._serialized_end=3480 + _globals['_ARMJOINTS']._serialized_start=3483 + _globals['_ARMJOINTS']._serialized_end=3613 + _globals['_IKCONSTRAINEDMODE']._serialized_start=3615 + _globals['_IKCONSTRAINEDMODE']._serialized_end=3700 + _globals['_IKCONTINUOUSMODE']._serialized_start=3702 + _globals['_IKCONTINUOUSMODE']._serialized_end=3781 + _globals['_REACHABILITYERROR']._serialized_start=3784 + _globals['_REACHABILITYERROR']._serialized_end=3924 + _globals['_CUSTOMARMJOINTS']._serialized_start=199 + _globals['_CUSTOMARMJOINTS']._serialized_end=260 + _globals['_ARMSTATE']._serialized_start=263 + _globals['_ARMSTATE']._serialized_end=602 + _globals['_REACHABILITYANSWER']._serialized_start=605 + _globals['_REACHABILITYANSWER']._serialized_end=779 + _globals['_ARMDESCRIPTION']._serialized_start=782 + _globals['_ARMDESCRIPTION']._serialized_end=936 + _globals['_ARM']._serialized_start=939 + _globals['_ARM']._serialized_end=1073 + _globals['_LISTOFARM']._serialized_start=1075 + _globals['_LISTOFARM']._serialized_end=1121 + _globals['_ARMPOSITION']._serialized_start=1124 + _globals['_ARMPOSITION']._serialized_end=1299 + _globals['_ARMCARTESIANGOAL']._serialized_start=1302 + _globals['_ARMCARTESIANGOAL']._serialized_end=1912 + _globals['_ARMJOINTGOAL']._serialized_start=1915 + _globals['_ARMJOINTGOAL']._serialized_end=2060 + _globals['_ARMENDEFFECTOR']._serialized_start=2062 + _globals['_ARMENDEFFECTOR']._serialized_end=2122 + _globals['_ARMFKREQUEST']._serialized_start=2124 + _globals['_ARMFKREQUEST']._serialized_end=2219 + _globals['_ARMFKSOLUTION']._serialized_start=2221 + _globals['_ARMFKSOLUTION']._serialized_end=2308 + _globals['_ARMIKREQUEST']._serialized_start=2311 + _globals['_ARMIKREQUEST']._serialized_end=2449 + _globals['_ARMIKSOLUTION']._serialized_start=2451 + _globals['_ARMIKSOLUTION']._serialized_end=2564 + _globals['_ARMSTATUS']._serialized_start=2567 + _globals['_ARMSTATUS']._serialized_end=2755 + _globals['_SPEEDLIMITREQUEST']._serialized_start=2757 + _globals['_SPEEDLIMITREQUEST']._serialized_end=2824 + _globals['_TORQUELIMITREQUEST']._serialized_start=2826 + _globals['_TORQUELIMITREQUEST']._serialized_end=2894 + _globals['_ARMLIMITS']._serialized_start=2897 + _globals['_ARMLIMITS']._serialized_end=3067 + _globals['_ARMTEMPERATURES']._serialized_start=3070 + _globals['_ARMTEMPERATURES']._serialized_end=3258 + _globals['_ARMSERVICE']._serialized_start=3927 + _globals['_ARMSERVICE']._serialized_end=5175 # @@protoc_insertion_point(module_scope) diff --git a/python/reachy2_sdk_api/arm_pb2.pyi b/python/reachy2_sdk_api/arm_pb2.pyi index 7fb3595..0d40fcd 100644 --- a/python/reachy2_sdk_api/arm_pb2.pyi +++ b/python/reachy2_sdk_api/arm_pb2.pyi @@ -64,6 +64,31 @@ PID: ArmField.ValueType # 12 ALL: ArmField.ValueType # 15 global___ArmField = ArmField +class _ArmJoints: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + +class _ArmJointsEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_ArmJoints.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + SHOULDER_PITCH: _ArmJoints.ValueType # 0 + SHOULDER_ROLL: _ArmJoints.ValueType # 1 + ELBOW_YAW: _ArmJoints.ValueType # 2 + ELBOW_PITCH: _ArmJoints.ValueType # 3 + WRIST_ROLL: _ArmJoints.ValueType # 4 + WRIST_PITCH: _ArmJoints.ValueType # 5 + WRIST_YAW: _ArmJoints.ValueType # 6 + +class ArmJoints(_ArmJoints, metaclass=_ArmJointsEnumTypeWrapper): ... + +SHOULDER_PITCH: ArmJoints.ValueType # 0 +SHOULDER_ROLL: ArmJoints.ValueType # 1 +ELBOW_YAW: ArmJoints.ValueType # 2 +ELBOW_PITCH: ArmJoints.ValueType # 3 +WRIST_ROLL: ArmJoints.ValueType # 4 +WRIST_PITCH: ArmJoints.ValueType # 5 +WRIST_YAW: ArmJoints.ValueType # 6 +global___ArmJoints = ArmJoints + class _IKConstrainedMode: ValueType = typing.NewType("ValueType", builtins.int) V: typing_extensions.TypeAlias = ValueType @@ -123,6 +148,22 @@ CONTINUITY_LIMIT: ReachabilityError.ValueType # 5 OTHER: ReachabilityError.ValueType # 6 global___ReachabilityError = ReachabilityError +@typing_extensions.final +class CustomArmJoints(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + JOINTS_FIELD_NUMBER: builtins.int + @property + def joints(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[global___ArmJoints.ValueType]: ... + def __init__( + self, + *, + joints: collections.abc.Iterable[global___ArmJoints.ValueType] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["joints", b"joints"]) -> None: ... + +global___CustomArmJoints = CustomArmJoints + @typing_extensions.final class ArmState(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor diff --git a/python/reachy2_sdk_api/goto_pb2.py b/python/reachy2_sdk_api/goto_pb2.py index 705ed2e..cf92a5a 100644 --- a/python/reachy2_sdk_api/goto_pb2.py +++ b/python/reachy2_sdk_api/goto_pb2.py @@ -12,38 +12,41 @@ from google.protobuf import empty_pb2 as google_dot_protobuf_dot_empty__pb2 +from google.protobuf import wrappers_pb2 as google_dot_protobuf_dot_wrappers__pb2 import arm_pb2 as arm__pb2 import head_pb2 as head__pb2 import part_pb2 as part__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\ngoto.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\tarm.proto\x1a\nhead.proto\x1a\npart.proto\"\x14\n\x06GoToId\x12\n\n\x02id\x18\x01 \x01(\x05\"\x16\n\x07GoToAck\x12\x0b\n\x03\x61\x63k\x18\x01 \x01(\x08\"2\n\x0eGoToGoalStatus\x12 \n\x0bgoal_status\x18\x01 \x01(\x0e\x32\x0b.GoalStatus\"\xa6\x01\n\rCartesianGoal\x12?\n\x12\x61rm_cartesian_goal\x18\x01 \x01(\x0b\x32!.reachy.part.arm.ArmCartesianGoalH\x00\x12\x42\n\x13neck_cartesian_goal\x18\x02 \x01(\x0b\x32#.reachy.part.head.NeckCartesianGoalH\x00\x42\x10\n\x0e\x63\x61rtesian_goal\"\x90\x01\n\nJointsGoal\x12\x37\n\x0e\x61rm_joint_goal\x18\x01 \x01(\x0b\x32\x1d.reachy.part.arm.ArmJointGoalH\x00\x12:\n\x0fneck_joint_goal\x18\x02 \x01(\x0b\x32\x1f.reachy.part.head.NeckJointGoalH\x00\x42\r\n\x0bjoints_goal\"C\n\x11GoToInterpolation\x12.\n\x12interpolation_type\x18\x01 \x01(\x0e\x32\x12.InterpolationMode\"\x93\x01\n\x0bGoToRequest\x12(\n\x0e\x63\x61rtesian_goal\x18\x01 \x01(\x0b\x32\x0e.CartesianGoalH\x00\x12\"\n\x0bjoints_goal\x18\x02 \x01(\x0b\x32\x0b.JointsGoalH\x00\x12.\n\x12interpolation_mode\x18\x03 \x01(\x0b\x32\x12.GoToInterpolationB\x06\n\x04goal\"&\n\tGoToQueue\x12\x19\n\x08goto_ids\x18\x01 \x03(\x0b\x32\x07.GoToId*\xaa\x01\n\nGoalStatus\x12\x08\n\x04NONE\x10\x00\x12\x12\n\x0eSTATUS_UNKNOWN\x10\x01\x12\x13\n\x0fSTATUS_ACCEPTED\x10\x02\x12\x14\n\x10STATUS_EXECUTING\x10\x03\x12\x14\n\x10STATUS_CANCELING\x10\x04\x12\x14\n\x10STATUS_SUCCEEDED\x10\x05\x12\x13\n\x0fSTATUS_CANCELED\x10\x06\x12\x12\n\x0eSTATUS_ABORTED\x10\x07*I\n\x11InterpolationMode\x12\x16\n\x12NONE_INTERPOLATION\x10\x00\x12\n\n\x06LINEAR\x10\x01\x12\x10\n\x0cMINIMUM_JERK\x10\x02\x32\x9e\x03\n\x0bGoToService\x12&\n\rGoToCartesian\x12\x0c.GoToRequest\x1a\x07.GoToId\x12#\n\nGoToJoints\x12\x0c.GoToRequest\x1a\x07.GoToId\x12(\n\x0cGetGoToState\x12\x07.GoToId\x1a\x0f.GoToGoalStatus\x12\'\n\x0eGetGoToRequest\x12\x07.GoToId\x1a\x0c.GoToRequest\x12\x32\n\x12GetPartGoToPlaying\x12\x13.reachy.part.PartId\x1a\x07.GoToId\x12\x33\n\x10GetPartGoToQueue\x12\x13.reachy.part.PartId\x1a\n.GoToQueue\x12\x1f\n\nCancelGoTo\x12\x07.GoToId\x1a\x08.GoToAck\x12\x31\n\rCancelAllGoTo\x12\x16.google.protobuf.Empty\x1a\x08.GoToAck\x12\x32\n\x11\x43\x61ncelPartAllGoTo\x12\x13.reachy.part.PartId\x1a\x08.GoToAckb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\ngoto.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1egoogle/protobuf/wrappers.proto\x1a\tarm.proto\x1a\nhead.proto\x1a\npart.proto\"\x14\n\x06GoToId\x12\n\n\x02id\x18\x01 \x01(\x05\"\x16\n\x07GoToAck\x12\x0b\n\x03\x61\x63k\x18\x01 \x01(\x08\"2\n\x0eGoToGoalStatus\x12 \n\x0bgoal_status\x18\x01 \x01(\x0e\x32\x0b.GoalStatus\"\xa6\x01\n\rCartesianGoal\x12?\n\x12\x61rm_cartesian_goal\x18\x01 \x01(\x0b\x32!.reachy.part.arm.ArmCartesianGoalH\x00\x12\x42\n\x13neck_cartesian_goal\x18\x02 \x01(\x0b\x32#.reachy.part.head.NeckCartesianGoalH\x00\x42\x10\n\x0e\x63\x61rtesian_goal\"\xbf\x01\n\nJointsGoal\x12\x37\n\x0e\x61rm_joint_goal\x18\x01 \x01(\x0b\x32\x1d.reachy.part.arm.ArmJointGoalH\x00\x12:\n\x0fneck_joint_goal\x18\x02 \x01(\x0b\x32\x1f.reachy.part.head.NeckJointGoalH\x00\x12-\n\x11\x63ustom_joint_goal\x18\x03 \x01(\x0b\x32\x10.CustomJointGoalH\x00\x42\r\n\x0bjoints_goal\"\x91\x02\n\x0f\x43ustomJointGoal\x12\x1f\n\x02id\x18\x01 \x01(\x0b\x32\x13.reachy.part.PartId\x12\x36\n\narm_joints\x18\x02 \x01(\x0b\x32 .reachy.part.arm.CustomArmJointsH\x00\x12\x39\n\x0bneck_joints\x18\x03 \x01(\x0b\x32\".reachy.part.head.CustomNeckJointsH\x00\x12\x31\n\x0cjoints_goals\x18\x04 \x03(\x0b\x32\x1b.google.protobuf.FloatValue\x12-\n\x08\x64uration\x18\n \x01(\x0b\x32\x1b.google.protobuf.FloatValueB\x08\n\x06joints\"C\n\x11GoToInterpolation\x12.\n\x12interpolation_type\x18\x01 \x01(\x0e\x32\x12.InterpolationMode\"\x93\x01\n\x0bGoToRequest\x12(\n\x0e\x63\x61rtesian_goal\x18\x01 \x01(\x0b\x32\x0e.CartesianGoalH\x00\x12\"\n\x0bjoints_goal\x18\x02 \x01(\x0b\x32\x0b.JointsGoalH\x00\x12.\n\x12interpolation_mode\x18\x03 \x01(\x0b\x32\x12.GoToInterpolationB\x06\n\x04goal\"&\n\tGoToQueue\x12\x19\n\x08goto_ids\x18\x01 \x03(\x0b\x32\x07.GoToId*\xaa\x01\n\nGoalStatus\x12\x08\n\x04NONE\x10\x00\x12\x12\n\x0eSTATUS_UNKNOWN\x10\x01\x12\x13\n\x0fSTATUS_ACCEPTED\x10\x02\x12\x14\n\x10STATUS_EXECUTING\x10\x03\x12\x14\n\x10STATUS_CANCELING\x10\x04\x12\x14\n\x10STATUS_SUCCEEDED\x10\x05\x12\x13\n\x0fSTATUS_CANCELED\x10\x06\x12\x12\n\x0eSTATUS_ABORTED\x10\x07*I\n\x11InterpolationMode\x12\x16\n\x12NONE_INTERPOLATION\x10\x00\x12\n\n\x06LINEAR\x10\x01\x12\x10\n\x0cMINIMUM_JERK\x10\x02\x32\x9e\x03\n\x0bGoToService\x12&\n\rGoToCartesian\x12\x0c.GoToRequest\x1a\x07.GoToId\x12#\n\nGoToJoints\x12\x0c.GoToRequest\x1a\x07.GoToId\x12(\n\x0cGetGoToState\x12\x07.GoToId\x1a\x0f.GoToGoalStatus\x12\'\n\x0eGetGoToRequest\x12\x07.GoToId\x1a\x0c.GoToRequest\x12\x32\n\x12GetPartGoToPlaying\x12\x13.reachy.part.PartId\x1a\x07.GoToId\x12\x33\n\x10GetPartGoToQueue\x12\x13.reachy.part.PartId\x1a\n.GoToQueue\x12\x1f\n\nCancelGoTo\x12\x07.GoToId\x1a\x08.GoToAck\x12\x31\n\rCancelAllGoTo\x12\x16.google.protobuf.Empty\x1a\x08.GoToAck\x12\x32\n\x11\x43\x61ncelPartAllGoTo\x12\x13.reachy.part.PartId\x1a\x08.GoToAckb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'goto_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - _globals['_GOALSTATUS']._serialized_start=752 - _globals['_GOALSTATUS']._serialized_end=922 - _globals['_INTERPOLATIONMODE']._serialized_start=924 - _globals['_INTERPOLATIONMODE']._serialized_end=997 - _globals['_GOTOID']._serialized_start=78 - _globals['_GOTOID']._serialized_end=98 - _globals['_GOTOACK']._serialized_start=100 - _globals['_GOTOACK']._serialized_end=122 - _globals['_GOTOGOALSTATUS']._serialized_start=124 - _globals['_GOTOGOALSTATUS']._serialized_end=174 - _globals['_CARTESIANGOAL']._serialized_start=177 - _globals['_CARTESIANGOAL']._serialized_end=343 - _globals['_JOINTSGOAL']._serialized_start=346 - _globals['_JOINTSGOAL']._serialized_end=490 - _globals['_GOTOINTERPOLATION']._serialized_start=492 - _globals['_GOTOINTERPOLATION']._serialized_end=559 - _globals['_GOTOREQUEST']._serialized_start=562 - _globals['_GOTOREQUEST']._serialized_end=709 - _globals['_GOTOQUEUE']._serialized_start=711 - _globals['_GOTOQUEUE']._serialized_end=749 - _globals['_GOTOSERVICE']._serialized_start=1000 - _globals['_GOTOSERVICE']._serialized_end=1414 + _globals['_GOALSTATUS']._serialized_start=1107 + _globals['_GOALSTATUS']._serialized_end=1277 + _globals['_INTERPOLATIONMODE']._serialized_start=1279 + _globals['_INTERPOLATIONMODE']._serialized_end=1352 + _globals['_GOTOID']._serialized_start=110 + _globals['_GOTOID']._serialized_end=130 + _globals['_GOTOACK']._serialized_start=132 + _globals['_GOTOACK']._serialized_end=154 + _globals['_GOTOGOALSTATUS']._serialized_start=156 + _globals['_GOTOGOALSTATUS']._serialized_end=206 + _globals['_CARTESIANGOAL']._serialized_start=209 + _globals['_CARTESIANGOAL']._serialized_end=375 + _globals['_JOINTSGOAL']._serialized_start=378 + _globals['_JOINTSGOAL']._serialized_end=569 + _globals['_CUSTOMJOINTGOAL']._serialized_start=572 + _globals['_CUSTOMJOINTGOAL']._serialized_end=845 + _globals['_GOTOINTERPOLATION']._serialized_start=847 + _globals['_GOTOINTERPOLATION']._serialized_end=914 + _globals['_GOTOREQUEST']._serialized_start=917 + _globals['_GOTOREQUEST']._serialized_end=1064 + _globals['_GOTOQUEUE']._serialized_start=1066 + _globals['_GOTOQUEUE']._serialized_end=1104 + _globals['_GOTOSERVICE']._serialized_start=1355 + _globals['_GOTOSERVICE']._serialized_end=1769 # @@protoc_insertion_point(module_scope) diff --git a/python/reachy2_sdk_api/goto_pb2.pyi b/python/reachy2_sdk_api/goto_pb2.pyi index 8ae146b..c8b44ba 100644 --- a/python/reachy2_sdk_api/goto_pb2.pyi +++ b/python/reachy2_sdk_api/goto_pb2.pyi @@ -9,7 +9,9 @@ import google.protobuf.descriptor import google.protobuf.internal.containers import google.protobuf.internal.enum_type_wrapper import google.protobuf.message +import google.protobuf.wrappers_pb2 import head_pb2 +import part_pb2 import sys import typing @@ -137,22 +139,60 @@ class JointsGoal(google.protobuf.message.Message): ARM_JOINT_GOAL_FIELD_NUMBER: builtins.int NECK_JOINT_GOAL_FIELD_NUMBER: builtins.int + CUSTOM_JOINT_GOAL_FIELD_NUMBER: builtins.int @property def arm_joint_goal(self) -> arm_pb2.ArmJointGoal: ... @property def neck_joint_goal(self) -> head_pb2.NeckJointGoal: ... + @property + def custom_joint_goal(self) -> global___CustomJointGoal: ... def __init__( self, *, arm_joint_goal: arm_pb2.ArmJointGoal | None = ..., neck_joint_goal: head_pb2.NeckJointGoal | None = ..., + custom_joint_goal: global___CustomJointGoal | None = ..., ) -> None: ... - def HasField(self, field_name: typing_extensions.Literal["arm_joint_goal", b"arm_joint_goal", "joints_goal", b"joints_goal", "neck_joint_goal", b"neck_joint_goal"]) -> builtins.bool: ... - def ClearField(self, field_name: typing_extensions.Literal["arm_joint_goal", b"arm_joint_goal", "joints_goal", b"joints_goal", "neck_joint_goal", b"neck_joint_goal"]) -> None: ... - def WhichOneof(self, oneof_group: typing_extensions.Literal["joints_goal", b"joints_goal"]) -> typing_extensions.Literal["arm_joint_goal", "neck_joint_goal"] | None: ... + def HasField(self, field_name: typing_extensions.Literal["arm_joint_goal", b"arm_joint_goal", "custom_joint_goal", b"custom_joint_goal", "joints_goal", b"joints_goal", "neck_joint_goal", b"neck_joint_goal"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["arm_joint_goal", b"arm_joint_goal", "custom_joint_goal", b"custom_joint_goal", "joints_goal", b"joints_goal", "neck_joint_goal", b"neck_joint_goal"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["joints_goal", b"joints_goal"]) -> typing_extensions.Literal["arm_joint_goal", "neck_joint_goal", "custom_joint_goal"] | None: ... global___JointsGoal = JointsGoal +@typing_extensions.final +class CustomJointGoal(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + ID_FIELD_NUMBER: builtins.int + ARM_JOINTS_FIELD_NUMBER: builtins.int + NECK_JOINTS_FIELD_NUMBER: builtins.int + JOINTS_GOALS_FIELD_NUMBER: builtins.int + DURATION_FIELD_NUMBER: builtins.int + @property + def id(self) -> part_pb2.PartId: ... + @property + def arm_joints(self) -> arm_pb2.CustomArmJoints: ... + @property + def neck_joints(self) -> head_pb2.CustomNeckJoints: ... + @property + def joints_goals(self) -> google.protobuf.internal.containers.RepeatedCompositeFieldContainer[google.protobuf.wrappers_pb2.FloatValue]: ... + @property + def duration(self) -> google.protobuf.wrappers_pb2.FloatValue: ... + def __init__( + self, + *, + id: part_pb2.PartId | None = ..., + arm_joints: arm_pb2.CustomArmJoints | None = ..., + neck_joints: head_pb2.CustomNeckJoints | None = ..., + joints_goals: collections.abc.Iterable[google.protobuf.wrappers_pb2.FloatValue] | None = ..., + duration: google.protobuf.wrappers_pb2.FloatValue | None = ..., + ) -> None: ... + def HasField(self, field_name: typing_extensions.Literal["arm_joints", b"arm_joints", "duration", b"duration", "id", b"id", "joints", b"joints", "neck_joints", b"neck_joints"]) -> builtins.bool: ... + def ClearField(self, field_name: typing_extensions.Literal["arm_joints", b"arm_joints", "duration", b"duration", "id", b"id", "joints", b"joints", "joints_goals", b"joints_goals", "neck_joints", b"neck_joints"]) -> None: ... + def WhichOneof(self, oneof_group: typing_extensions.Literal["joints", b"joints"]) -> typing_extensions.Literal["arm_joints", "neck_joints"] | None: ... + +global___CustomJointGoal = CustomJointGoal + @typing_extensions.final class GoToInterpolation(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor diff --git a/python/reachy2_sdk_api/head_pb2.py b/python/reachy2_sdk_api/head_pb2.py index cbb2626..d892023 100644 --- a/python/reachy2_sdk_api/head_pb2.py +++ b/python/reachy2_sdk_api/head_pb2.py @@ -22,49 +22,53 @@ import dynamixel_motor_pb2 as dynamixel__motor__pb2 -DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\nhead.proto\x12\x10reachy.part.head\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\npart.proto\x1a\x10kinematics.proto\x1a\x0b\x65rror.proto\x1a\x0f\x63omponent.proto\x1a\x0eorbita3d.proto\x1a\x15\x64ynamixel_motor.proto\"\x89\x01\n\x04Head\x12$\n\x07part_id\x18\x01 \x01(\x0b\x32\x13.reachy.part.PartId\x12\x36\n\x0b\x64\x65scription\x18\x02 \x01(\x0b\x32!.reachy.part.head.HeadDescription\x12#\n\x04info\x18\x05 \x01(\x0b\x32\x15.reachy.part.PartInfo\"\xb9\x01\n\x0fHeadDescription\x12*\n\x04neck\x18\x01 \x01(\x0b\x32\x1c.component.orbita3d.Orbita3d\x12<\n\tl_antenna\x18\x02 \x01(\x0b\x32).component.dynamixel_motor.DynamixelMotor\x12<\n\tr_antenna\x18\x03 \x01(\x0b\x32).component.dynamixel_motor.DynamixelMotor\"2\n\nListOfHead\x12$\n\x04head\x18\x01 \x03(\x0b\x32\x16.reachy.part.head.Head\"\xb7\x02\n\tHeadState\x12-\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1f\n\x02id\x18\x02 \x01(\x0b\x32\x13.reachy.part.PartId\x12\x11\n\tactivated\x18\x03 \x01(\x08\x12\x35\n\nneck_state\x18\x04 \x01(\x0b\x32!.component.orbita3d.Orbita3dState\x12G\n\x0fl_antenna_state\x18\x05 \x01(\x0b\x32..component.dynamixel_motor.DynamixelMotorState\x12G\n\x0fr_antenna_state\x18\x06 \x01(\x0b\x32..component.dynamixel_motor.DynamixelMotorState\"\xb6\x01\n\x0cHeadPosition\x12\x34\n\rneck_position\x18\x01 \x01(\x0b\x32\x1d.reachy.kinematics.Rotation3d\x12\x37\n\x12l_antenna_position\x18\x02 \x01(\x0b\x32\x1b.google.protobuf.FloatValue\x12\x37\n\x12r_antenna_position\x18\x03 \x01(\x0b\x32\x1b.google.protobuf.FloatValue\"\x8c\x01\n\x11NeckCartesianGoal\x12\x1f\n\x02id\x18\x01 \x01(\x0b\x32\x13.reachy.part.PartId\x12\'\n\x05point\x18\x02 \x01(\x0b\x32\x18.reachy.kinematics.Point\x12-\n\x08\x64uration\x18\x03 \x01(\x0b\x32\x1b.google.protobuf.FloatValue\"\x97\x01\n\rNeckJointGoal\x12\x1f\n\x02id\x18\x01 \x01(\x0b\x32\x13.reachy.part.PartId\x12\x36\n\x0bjoints_goal\x18\x02 \x01(\x0b\x32!.reachy.part.head.NeckOrientation\x12-\n\x08\x64uration\x18\x03 \x01(\x0b\x32\x1b.google.protobuf.FloatValue\"B\n\x0fNeckOrientation\x12/\n\x08rotation\x18\x01 \x01(\x0b\x32\x1d.reachy.kinematics.Rotation3d\"b\n\rNeckFKRequest\x12\x1f\n\x02id\x18\x01 \x01(\x0b\x32\x13.reachy.part.PartId\x12\x30\n\x08position\x18\x02 \x01(\x0b\x32\x1e.reachy.part.head.HeadPosition\"Y\n\x0eNeckFKSolution\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x36\n\x0borientation\x18\x02 \x01(\x0b\x32!.reachy.part.head.NeckOrientation\"\x8e\x01\n\rNeckIKRequest\x12\x1f\n\x02id\x18\x01 \x01(\x0b\x32\x13.reachy.part.PartId\x12\x31\n\x06target\x18\x02 \x01(\x0b\x32!.reachy.part.head.NeckOrientation\x12)\n\x02q0\x18\x03 \x01(\x0b\x32\x1d.reachy.kinematics.Rotation3d\"o\n\x0eNeckIKSolution\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12/\n\x08position\x18\x02 \x01(\x0b\x32\x1d.reachy.kinematics.Rotation3d\x12\x1b\n\x05\x65rror\x18\x03 \x01(\x0b\x32\x0c.error.Error\"\xdb\x01\n\nHeadStatus\x12\x37\n\x0bneck_status\x18\x01 \x01(\x0b\x32\".component.orbita3d.Orbita3dStatus\x12I\n\x10l_antenna_status\x18\x02 \x01(\x0b\x32/.component.dynamixel_motor.DynamixelMotorStatus\x12I\n\x10r_antenna_status\x18\x03 \x01(\x0b\x32/.component.dynamixel_motor.DynamixelMotorStatus\"C\n\x11SpeedLimitRequest\x12\x1f\n\x02id\x18\x01 \x01(\x0b\x32\x13.reachy.part.PartId\x12\r\n\x05limit\x18\x02 \x01(\r\"D\n\x12TorqueLimitRequest\x12\x1f\n\x02id\x18\x01 \x01(\x0b\x32\x13.reachy.part.PartId\x12\r\n\x05limit\x18\x02 \x01(\r\"\xa5\x01\n\x0cJointsLimits\x12\x31\n\x0bneck_limits\x18\x01 \x01(\x0b\x32\x1c.component.orbita3d.Limits3d\x12\x30\n\x10l_antenna_limits\x18\x02 \x01(\x0b\x32\x16.component.JointLimits\x12\x30\n\x10r_antenna_limits\x18\x03 \x01(\x0b\x32\x16.component.JointLimits\"\x87\x01\n\x10HeadTemperatures\x12\x35\n\x10neck_temperature\x18\x01 \x01(\x0b\x32\x1b.component.orbita3d.Float3d\x12\x1d\n\x15l_antenna_temperature\x18\x02 \x01(\x02\x12\x1d\n\x15r_antenna_temperature\x18\x03 \x01(\x02*\xdc\x01\n\tHeadField\x12\x08\n\x04NONE\x10\x00\x12\x08\n\x04NAME\x10\x01\x12\x06\n\x02ID\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\x10\n\x0cJOINT_LIMITS\x10\x07\x12\r\n\tCOMPLIANT\x10\x08\x12\x11\n\rGOAL_POSITION\x10\t\x12\x0f\n\x0bSPEED_LIMIT\x10\n\x12\x10\n\x0cTORQUE_LIMIT\x10\x0b\x12\x07\n\x03PID\x10\x0c\x12\x07\n\x03\x41LL\x10\x0f\x32\xaa\t\n\x0bHeadService\x12\x43\n\x0bGetAllHeads\x12\x16.google.protobuf.Empty\x1a\x1c.reachy.part.head.ListOfHead\x12<\n\x08GetState\x12\x13.reachy.part.PartId\x1a\x1b.reachy.part.head.HeadState\x12R\n\rComputeNeckFK\x12\x1f.reachy.part.head.NeckFKRequest\x1a .reachy.part.head.NeckFKSolution\x12R\n\rComputeNeckIK\x12\x1f.reachy.part.head.NeckIKRequest\x1a .reachy.part.head.NeckIKSolution\x12\x44\n\x0eGetOrientation\x12\x13.reachy.part.PartId\x1a\x1d.reachy.kinematics.Rotation3d\x12:\n\x05\x41udit\x12\x13.reachy.part.PartId\x1a\x1c.reachy.part.head.HeadStatus\x12\x38\n\tHeartBeat\x12\x13.reachy.part.PartId\x1a\x16.google.protobuf.Empty\x12\x36\n\x07Restart\x12\x13.reachy.part.PartId\x1a\x16.google.protobuf.Empty\x12\x41\n\x12ResetDefaultValues\x12\x13.reachy.part.PartId\x1a\x16.google.protobuf.Empty\x12\x35\n\x06TurnOn\x12\x13.reachy.part.PartId\x1a\x16.google.protobuf.Empty\x12\x36\n\x07TurnOff\x12\x13.reachy.part.PartId\x1a\x16.google.protobuf.Empty\x12\x46\n\x0fGetJointsLimits\x12\x13.reachy.part.PartId\x1a\x1e.reachy.part.head.JointsLimits\x12J\n\x0fGetTemperatures\x12\x13.reachy.part.PartId\x1a\".reachy.part.head.HeadTemperatures\x12J\n\x14GetJointGoalPosition\x12\x13.reachy.part.PartId\x1a\x1d.reachy.kinematics.Rotation3d\x12L\n\rSetSpeedLimit\x12#.reachy.part.head.SpeedLimitRequest\x1a\x16.google.protobuf.Empty\x12N\n\x0eSetTorqueLimit\x12$.reachy.part.head.TorqueLimitRequest\x1a\x16.google.protobuf.Empty\x12L\n\x11SendNeckJointGoal\x12\x1f.reachy.part.head.NeckJointGoal\x1a\x16.google.protobuf.Emptyb\x06proto3') +DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n\nhead.proto\x12\x10reachy.part.head\x1a\x1egoogle/protobuf/wrappers.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\npart.proto\x1a\x10kinematics.proto\x1a\x0b\x65rror.proto\x1a\x0f\x63omponent.proto\x1a\x0eorbita3d.proto\x1a\x15\x64ynamixel_motor.proto\"@\n\x10\x43ustomNeckJoints\x12,\n\x06joints\x18\x01 \x03(\x0e\x32\x1c.reachy.part.head.NeckJoints\"\x89\x01\n\x04Head\x12$\n\x07part_id\x18\x01 \x01(\x0b\x32\x13.reachy.part.PartId\x12\x36\n\x0b\x64\x65scription\x18\x02 \x01(\x0b\x32!.reachy.part.head.HeadDescription\x12#\n\x04info\x18\x05 \x01(\x0b\x32\x15.reachy.part.PartInfo\"\xb9\x01\n\x0fHeadDescription\x12*\n\x04neck\x18\x01 \x01(\x0b\x32\x1c.component.orbita3d.Orbita3d\x12<\n\tl_antenna\x18\x02 \x01(\x0b\x32).component.dynamixel_motor.DynamixelMotor\x12<\n\tr_antenna\x18\x03 \x01(\x0b\x32).component.dynamixel_motor.DynamixelMotor\"2\n\nListOfHead\x12$\n\x04head\x18\x01 \x03(\x0b\x32\x16.reachy.part.head.Head\"\xb7\x02\n\tHeadState\x12-\n\ttimestamp\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x1f\n\x02id\x18\x02 \x01(\x0b\x32\x13.reachy.part.PartId\x12\x11\n\tactivated\x18\x03 \x01(\x08\x12\x35\n\nneck_state\x18\x04 \x01(\x0b\x32!.component.orbita3d.Orbita3dState\x12G\n\x0fl_antenna_state\x18\x05 \x01(\x0b\x32..component.dynamixel_motor.DynamixelMotorState\x12G\n\x0fr_antenna_state\x18\x06 \x01(\x0b\x32..component.dynamixel_motor.DynamixelMotorState\"\xb6\x01\n\x0cHeadPosition\x12\x34\n\rneck_position\x18\x01 \x01(\x0b\x32\x1d.reachy.kinematics.Rotation3d\x12\x37\n\x12l_antenna_position\x18\x02 \x01(\x0b\x32\x1b.google.protobuf.FloatValue\x12\x37\n\x12r_antenna_position\x18\x03 \x01(\x0b\x32\x1b.google.protobuf.FloatValue\"\x8c\x01\n\x11NeckCartesianGoal\x12\x1f\n\x02id\x18\x01 \x01(\x0b\x32\x13.reachy.part.PartId\x12\'\n\x05point\x18\x02 \x01(\x0b\x32\x18.reachy.kinematics.Point\x12-\n\x08\x64uration\x18\x03 \x01(\x0b\x32\x1b.google.protobuf.FloatValue\"\x97\x01\n\rNeckJointGoal\x12\x1f\n\x02id\x18\x01 \x01(\x0b\x32\x13.reachy.part.PartId\x12\x36\n\x0bjoints_goal\x18\x02 \x01(\x0b\x32!.reachy.part.head.NeckOrientation\x12-\n\x08\x64uration\x18\x03 \x01(\x0b\x32\x1b.google.protobuf.FloatValue\"B\n\x0fNeckOrientation\x12/\n\x08rotation\x18\x01 \x01(\x0b\x32\x1d.reachy.kinematics.Rotation3d\"b\n\rNeckFKRequest\x12\x1f\n\x02id\x18\x01 \x01(\x0b\x32\x13.reachy.part.PartId\x12\x30\n\x08position\x18\x02 \x01(\x0b\x32\x1e.reachy.part.head.HeadPosition\"Y\n\x0eNeckFKSolution\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x36\n\x0borientation\x18\x02 \x01(\x0b\x32!.reachy.part.head.NeckOrientation\"\x8e\x01\n\rNeckIKRequest\x12\x1f\n\x02id\x18\x01 \x01(\x0b\x32\x13.reachy.part.PartId\x12\x31\n\x06target\x18\x02 \x01(\x0b\x32!.reachy.part.head.NeckOrientation\x12)\n\x02q0\x18\x03 \x01(\x0b\x32\x1d.reachy.kinematics.Rotation3d\"o\n\x0eNeckIKSolution\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12/\n\x08position\x18\x02 \x01(\x0b\x32\x1d.reachy.kinematics.Rotation3d\x12\x1b\n\x05\x65rror\x18\x03 \x01(\x0b\x32\x0c.error.Error\"\xdb\x01\n\nHeadStatus\x12\x37\n\x0bneck_status\x18\x01 \x01(\x0b\x32\".component.orbita3d.Orbita3dStatus\x12I\n\x10l_antenna_status\x18\x02 \x01(\x0b\x32/.component.dynamixel_motor.DynamixelMotorStatus\x12I\n\x10r_antenna_status\x18\x03 \x01(\x0b\x32/.component.dynamixel_motor.DynamixelMotorStatus\"C\n\x11SpeedLimitRequest\x12\x1f\n\x02id\x18\x01 \x01(\x0b\x32\x13.reachy.part.PartId\x12\r\n\x05limit\x18\x02 \x01(\r\"D\n\x12TorqueLimitRequest\x12\x1f\n\x02id\x18\x01 \x01(\x0b\x32\x13.reachy.part.PartId\x12\r\n\x05limit\x18\x02 \x01(\r\"\xa5\x01\n\x0cJointsLimits\x12\x31\n\x0bneck_limits\x18\x01 \x01(\x0b\x32\x1c.component.orbita3d.Limits3d\x12\x30\n\x10l_antenna_limits\x18\x02 \x01(\x0b\x32\x16.component.JointLimits\x12\x30\n\x10r_antenna_limits\x18\x03 \x01(\x0b\x32\x16.component.JointLimits\"\x87\x01\n\x10HeadTemperatures\x12\x35\n\x10neck_temperature\x18\x01 \x01(\x0b\x32\x1b.component.orbita3d.Float3d\x12\x1d\n\x15l_antenna_temperature\x18\x02 \x01(\x02\x12\x1d\n\x15r_antenna_temperature\x18\x03 \x01(\x02*\xdc\x01\n\tHeadField\x12\x08\n\x04NONE\x10\x00\x12\x08\n\x04NAME\x10\x01\x12\x06\n\x02ID\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\x10\n\x0cJOINT_LIMITS\x10\x07\x12\r\n\tCOMPLIANT\x10\x08\x12\x11\n\rGOAL_POSITION\x10\t\x12\x0f\n\x0bSPEED_LIMIT\x10\n\x12\x10\n\x0cTORQUE_LIMIT\x10\x0b\x12\x07\n\x03PID\x10\x0c\x12\x07\n\x03\x41LL\x10\x0f**\n\nNeckJoints\x12\x08\n\x04ROLL\x10\x00\x12\t\n\x05PITCH\x10\x01\x12\x07\n\x03YAW\x10\x02\x32\xaa\t\n\x0bHeadService\x12\x43\n\x0bGetAllHeads\x12\x16.google.protobuf.Empty\x1a\x1c.reachy.part.head.ListOfHead\x12<\n\x08GetState\x12\x13.reachy.part.PartId\x1a\x1b.reachy.part.head.HeadState\x12R\n\rComputeNeckFK\x12\x1f.reachy.part.head.NeckFKRequest\x1a .reachy.part.head.NeckFKSolution\x12R\n\rComputeNeckIK\x12\x1f.reachy.part.head.NeckIKRequest\x1a .reachy.part.head.NeckIKSolution\x12\x44\n\x0eGetOrientation\x12\x13.reachy.part.PartId\x1a\x1d.reachy.kinematics.Rotation3d\x12:\n\x05\x41udit\x12\x13.reachy.part.PartId\x1a\x1c.reachy.part.head.HeadStatus\x12\x38\n\tHeartBeat\x12\x13.reachy.part.PartId\x1a\x16.google.protobuf.Empty\x12\x36\n\x07Restart\x12\x13.reachy.part.PartId\x1a\x16.google.protobuf.Empty\x12\x41\n\x12ResetDefaultValues\x12\x13.reachy.part.PartId\x1a\x16.google.protobuf.Empty\x12\x35\n\x06TurnOn\x12\x13.reachy.part.PartId\x1a\x16.google.protobuf.Empty\x12\x36\n\x07TurnOff\x12\x13.reachy.part.PartId\x1a\x16.google.protobuf.Empty\x12\x46\n\x0fGetJointsLimits\x12\x13.reachy.part.PartId\x1a\x1e.reachy.part.head.JointsLimits\x12J\n\x0fGetTemperatures\x12\x13.reachy.part.PartId\x1a\".reachy.part.head.HeadTemperatures\x12J\n\x14GetJointGoalPosition\x12\x13.reachy.part.PartId\x1a\x1d.reachy.kinematics.Rotation3d\x12L\n\rSetSpeedLimit\x12#.reachy.part.head.SpeedLimitRequest\x1a\x16.google.protobuf.Empty\x12N\n\x0eSetTorqueLimit\x12$.reachy.part.head.TorqueLimitRequest\x1a\x16.google.protobuf.Empty\x12L\n\x11SendNeckJointGoal\x12\x1f.reachy.part.head.NeckJointGoal\x1a\x16.google.protobuf.Emptyb\x06proto3') _globals = globals() _builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals) _builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'head_pb2', _globals) if _descriptor._USE_C_DESCRIPTORS == False: DESCRIPTOR._options = None - _globals['_HEADFIELD']._serialized_start=2586 - _globals['_HEADFIELD']._serialized_end=2806 - _globals['_HEAD']._serialized_start=226 - _globals['_HEAD']._serialized_end=363 - _globals['_HEADDESCRIPTION']._serialized_start=366 - _globals['_HEADDESCRIPTION']._serialized_end=551 - _globals['_LISTOFHEAD']._serialized_start=553 - _globals['_LISTOFHEAD']._serialized_end=603 - _globals['_HEADSTATE']._serialized_start=606 - _globals['_HEADSTATE']._serialized_end=917 - _globals['_HEADPOSITION']._serialized_start=920 - _globals['_HEADPOSITION']._serialized_end=1102 - _globals['_NECKCARTESIANGOAL']._serialized_start=1105 - _globals['_NECKCARTESIANGOAL']._serialized_end=1245 - _globals['_NECKJOINTGOAL']._serialized_start=1248 - _globals['_NECKJOINTGOAL']._serialized_end=1399 - _globals['_NECKORIENTATION']._serialized_start=1401 - _globals['_NECKORIENTATION']._serialized_end=1467 - _globals['_NECKFKREQUEST']._serialized_start=1469 - _globals['_NECKFKREQUEST']._serialized_end=1567 - _globals['_NECKFKSOLUTION']._serialized_start=1569 - _globals['_NECKFKSOLUTION']._serialized_end=1658 - _globals['_NECKIKREQUEST']._serialized_start=1661 - _globals['_NECKIKREQUEST']._serialized_end=1803 - _globals['_NECKIKSOLUTION']._serialized_start=1805 - _globals['_NECKIKSOLUTION']._serialized_end=1916 - _globals['_HEADSTATUS']._serialized_start=1919 - _globals['_HEADSTATUS']._serialized_end=2138 - _globals['_SPEEDLIMITREQUEST']._serialized_start=2140 - _globals['_SPEEDLIMITREQUEST']._serialized_end=2207 - _globals['_TORQUELIMITREQUEST']._serialized_start=2209 - _globals['_TORQUELIMITREQUEST']._serialized_end=2277 - _globals['_JOINTSLIMITS']._serialized_start=2280 - _globals['_JOINTSLIMITS']._serialized_end=2445 - _globals['_HEADTEMPERATURES']._serialized_start=2448 - _globals['_HEADTEMPERATURES']._serialized_end=2583 - _globals['_HEADSERVICE']._serialized_start=2809 - _globals['_HEADSERVICE']._serialized_end=4003 + _globals['_HEADFIELD']._serialized_start=2652 + _globals['_HEADFIELD']._serialized_end=2872 + _globals['_NECKJOINTS']._serialized_start=2874 + _globals['_NECKJOINTS']._serialized_end=2916 + _globals['_CUSTOMNECKJOINTS']._serialized_start=225 + _globals['_CUSTOMNECKJOINTS']._serialized_end=289 + _globals['_HEAD']._serialized_start=292 + _globals['_HEAD']._serialized_end=429 + _globals['_HEADDESCRIPTION']._serialized_start=432 + _globals['_HEADDESCRIPTION']._serialized_end=617 + _globals['_LISTOFHEAD']._serialized_start=619 + _globals['_LISTOFHEAD']._serialized_end=669 + _globals['_HEADSTATE']._serialized_start=672 + _globals['_HEADSTATE']._serialized_end=983 + _globals['_HEADPOSITION']._serialized_start=986 + _globals['_HEADPOSITION']._serialized_end=1168 + _globals['_NECKCARTESIANGOAL']._serialized_start=1171 + _globals['_NECKCARTESIANGOAL']._serialized_end=1311 + _globals['_NECKJOINTGOAL']._serialized_start=1314 + _globals['_NECKJOINTGOAL']._serialized_end=1465 + _globals['_NECKORIENTATION']._serialized_start=1467 + _globals['_NECKORIENTATION']._serialized_end=1533 + _globals['_NECKFKREQUEST']._serialized_start=1535 + _globals['_NECKFKREQUEST']._serialized_end=1633 + _globals['_NECKFKSOLUTION']._serialized_start=1635 + _globals['_NECKFKSOLUTION']._serialized_end=1724 + _globals['_NECKIKREQUEST']._serialized_start=1727 + _globals['_NECKIKREQUEST']._serialized_end=1869 + _globals['_NECKIKSOLUTION']._serialized_start=1871 + _globals['_NECKIKSOLUTION']._serialized_end=1982 + _globals['_HEADSTATUS']._serialized_start=1985 + _globals['_HEADSTATUS']._serialized_end=2204 + _globals['_SPEEDLIMITREQUEST']._serialized_start=2206 + _globals['_SPEEDLIMITREQUEST']._serialized_end=2273 + _globals['_TORQUELIMITREQUEST']._serialized_start=2275 + _globals['_TORQUELIMITREQUEST']._serialized_end=2343 + _globals['_JOINTSLIMITS']._serialized_start=2346 + _globals['_JOINTSLIMITS']._serialized_end=2511 + _globals['_HEADTEMPERATURES']._serialized_start=2514 + _globals['_HEADTEMPERATURES']._serialized_end=2649 + _globals['_HEADSERVICE']._serialized_start=2919 + _globals['_HEADSERVICE']._serialized_end=4113 # @@protoc_insertion_point(module_scope) diff --git a/python/reachy2_sdk_api/head_pb2.pyi b/python/reachy2_sdk_api/head_pb2.pyi index 3aa38c7..5eb0b60 100644 --- a/python/reachy2_sdk_api/head_pb2.pyi +++ b/python/reachy2_sdk_api/head_pb2.pyi @@ -65,6 +65,39 @@ PID: HeadField.ValueType # 12 ALL: HeadField.ValueType # 15 global___HeadField = HeadField +class _NeckJoints: + ValueType = typing.NewType("ValueType", builtins.int) + V: typing_extensions.TypeAlias = ValueType + +class _NeckJointsEnumTypeWrapper(google.protobuf.internal.enum_type_wrapper._EnumTypeWrapper[_NeckJoints.ValueType], builtins.type): + DESCRIPTOR: google.protobuf.descriptor.EnumDescriptor + ROLL: _NeckJoints.ValueType # 0 + PITCH: _NeckJoints.ValueType # 1 + YAW: _NeckJoints.ValueType # 2 + +class NeckJoints(_NeckJoints, metaclass=_NeckJointsEnumTypeWrapper): ... + +ROLL: NeckJoints.ValueType # 0 +PITCH: NeckJoints.ValueType # 1 +YAW: NeckJoints.ValueType # 2 +global___NeckJoints = NeckJoints + +@typing_extensions.final +class CustomNeckJoints(google.protobuf.message.Message): + DESCRIPTOR: google.protobuf.descriptor.Descriptor + + JOINTS_FIELD_NUMBER: builtins.int + @property + def joints(self) -> google.protobuf.internal.containers.RepeatedScalarFieldContainer[global___NeckJoints.ValueType]: ... + def __init__( + self, + *, + joints: collections.abc.Iterable[global___NeckJoints.ValueType] | None = ..., + ) -> None: ... + def ClearField(self, field_name: typing_extensions.Literal["joints", b"joints"]) -> None: ... + +global___CustomNeckJoints = CustomNeckJoints + @typing_extensions.final class Head(google.protobuf.message.Message): DESCRIPTOR: google.protobuf.descriptor.Descriptor diff --git a/python/setup.py b/python/setup.py index 0be9fa4..c28e4ae 100644 --- a/python/setup.py +++ b/python/setup.py @@ -11,7 +11,7 @@ setup( name="reachy2-sdk-api", - version="1.0.6", + version="1.0.7", packages=find_packages(exclude=["tests"]), install_requires=[ "grpcio>=1.59.0, <=1.62.2",