Skip to content

Instantly share code, notes, and snippets.

@CyrilPeponnet
Created December 31, 2019 22:22
Show Gist options
  • Save CyrilPeponnet/661d055734d5cee6fa548297322d9a88 to your computer and use it in GitHub Desktop.
Save CyrilPeponnet/661d055734d5cee6fa548297322d9a88 to your computer and use it in GitHub Desktop.
--- /Users/cyril/Desktop/gateway-1.6.proto 2019-12-31 14:20:45.000000000 -0800
+++ /Users/cyril/Desktop/gateway.proto 2019-12-31 14:21:47.000000000 -0800
@@ -1060,13 +1060,13 @@
rpc EventStream (.Anki.Vector.external_interface.EventRequest) returns (.Anki.Vector.external_interface.EventResponse);
rpc ExternalAudioStreamPlayback (.Anki.Vector.external_interface.ExternalAudioStreamRequest) returns (.Anki.Vector.external_interface.ExternalAudioStreamResponse);
rpc BehaviorControl (.Anki.Vector.external_interface.BehaviorControlRequest) returns (.Anki.Vector.external_interface.BehaviorControlResponse);
- rpc AssumeBehaviorControl (.Anki.Vector.external_interface.BehaviorControlRequest) returns (.Anki.Vector.external_interface.BehaviorControlResponse);
rpc CancelFaceEnrollment (.Anki.Vector.external_interface.CancelFaceEnrollmentRequest) returns (.Anki.Vector.external_interface.CancelFaceEnrollmentResponse);
rpc RequestEnrolledNames (.Anki.Vector.external_interface.RequestEnrolledNamesRequest) returns (.Anki.Vector.external_interface.RequestEnrolledNamesResponse);
rpc UpdateEnrolledFaceByID (.Anki.Vector.external_interface.UpdateEnrolledFaceByIDRequest) returns (.Anki.Vector.external_interface.UpdateEnrolledFaceByIDResponse);
rpc EraseEnrolledFaceByID (.Anki.Vector.external_interface.EraseEnrolledFaceByIDRequest) returns (.Anki.Vector.external_interface.EraseEnrolledFaceByIDResponse);
rpc EraseAllEnrolledFaces (.Anki.Vector.external_interface.EraseAllEnrolledFacesRequest) returns (.Anki.Vector.external_interface.EraseAllEnrolledFacesResponse);
rpc SetFaceToEnroll (.Anki.Vector.external_interface.SetFaceToEnrollRequest) returns (.Anki.Vector.external_interface.SetFaceToEnrollResponse);
+ rpc EnrollFace (.Anki.Vector.external_interface.EnrollFaceRequest) returns (.Anki.Vector.external_interface.EnrollFaceResponse);
rpc EnableMarkerDetection (.Anki.Vector.external_interface.EnableMarkerDetectionRequest) returns (.Anki.Vector.external_interface.EnableMarkerDetectionResponse);
rpc EnableFaceDetection (.Anki.Vector.external_interface.EnableFaceDetectionRequest) returns (.Anki.Vector.external_interface.EnableFaceDetectionResponse);
rpc EnableMotionDetection (.Anki.Vector.external_interface.EnableMotionDetectionRequest) returns (.Anki.Vector.external_interface.EnableMotionDetectionResponse);
@@ -1074,6 +1074,7 @@
rpc EnableImageStreaming (.Anki.Vector.external_interface.EnableImageStreamingRequest) returns (.Anki.Vector.external_interface.EnableImageStreamingResponse);
rpc IsImageStreamingEnabled (.Anki.Vector.external_interface.IsImageStreamingEnabledRequest) returns (.Anki.Vector.external_interface.IsImageStreamingEnabledResponse);
rpc CancelActionByIdTag (.Anki.Vector.external_interface.CancelActionByIdTagRequest) returns (.Anki.Vector.external_interface.CancelActionByIdTagResponse);
+ rpc CancelBehavior (.Anki.Vector.external_interface.CancelBehaviorRequest) returns (.Anki.Vector.external_interface.CancelBehaviorResponse);
rpc GoToPose (.Anki.Vector.external_interface.GoToPoseRequest) returns (.Anki.Vector.external_interface.GoToPoseResponse);
rpc DockWithCube (.Anki.Vector.external_interface.DockWithCubeRequest) returns (.Anki.Vector.external_interface.DockWithCubeResponse);
rpc DriveOffCharger (.Anki.Vector.external_interface.DriveOffChargerRequest) returns (.Anki.Vector.external_interface.DriveOffChargerResponse);
@@ -1113,8 +1114,10 @@
rpc AudioFeed (.Anki.Vector.external_interface.AudioFeedRequest) returns (.Anki.Vector.external_interface.AudioFeedResponse);
rpc CameraFeed (.Anki.Vector.external_interface.CameraFeedRequest) returns (.Anki.Vector.external_interface.CameraFeedResponse);
rpc CaptureSingleImage (.Anki.Vector.external_interface.CaptureSingleImageRequest) returns (.Anki.Vector.external_interface.CaptureSingleImageResponse);
+ rpc GetCameraConfig (.Anki.Vector.external_interface.CameraConfigRequest) returns (.Anki.Vector.external_interface.CameraConfigResponse);
rpc SetEyeColor (.Anki.Vector.external_interface.SetEyeColorRequest) returns (.Anki.Vector.external_interface.SetEyeColorResponse);
rpc NavMapFeed (.Anki.Vector.external_interface.NavMapFeedRequest) returns (.Anki.Vector.external_interface.NavMapFeedResponse);
+ rpc SetCameraSettings (.Anki.Vector.external_interface.SetCameraSettingsRequest) returns (.Anki.Vector.external_interface.SetCameraSettingsResponse);
rpc AppIntent (.Anki.Vector.external_interface.AppIntentRequest) returns (.Anki.Vector.external_interface.AppIntentResponse);
rpc GetOnboardingState (.Anki.Vector.external_interface.OnboardingStateRequest) returns (.Anki.Vector.external_interface.OnboardingStateResponse);
rpc SendOnboardingInput (.Anki.Vector.external_interface.OnboardingInputRequest) returns (.Anki.Vector.external_interface.OnboardingInputResponse);
@@ -1132,6 +1135,7 @@
rpc GetFeatureFlagList (.Anki.Vector.external_interface.FeatureFlagListRequest) returns (.Anki.Vector.external_interface.FeatureFlagListResponse);
rpc GetAlexaAuthState (.Anki.Vector.external_interface.AlexaAuthStateRequest) returns (.Anki.Vector.external_interface.AlexaAuthStateResponse);
rpc AlexaOptIn (.Anki.Vector.external_interface.AlexaOptInRequest) returns (.Anki.Vector.external_interface.AlexaOptInResponse);
+ rpc AssumeBehaviorControl (.Anki.Vector.external_interface.BehaviorControlRequest) returns (.Anki.Vector.external_interface.BehaviorControlResponse);
}
syntax = "proto3";
package Anki.Vector.external_interface;
@@ -1186,6 +1190,11 @@
optional .Anki.Vector.external_interface.VisionModesAutoDisabled vision_modes_auto_disabled = 17;
optional .Anki.Vector.external_interface.CheckUpdateStatusResponse check_update_status_response = 18;
optional .Anki.Vector.external_interface.UserIntent user_intent = 19;
+ optional .Anki.Vector.external_interface.RobotObservedMotion robot_observed_motion = 20;
+ optional .Anki.Vector.external_interface.RobotErasedEnrolledFace robot_erased_enrolled_face = 21;
+ optional .Anki.Vector.external_interface.RobotRenamedEnrolledFace robot_renamed_enrolled_face = 22;
+ optional .Anki.Vector.external_interface.CameraSettingsUpdate camera_settings_update = 23;
+ optional .Anki.Vector.external_interface.UnexpectedMovement unexpected_movement = 24;
}
message FilterList {
@@ -1266,6 +1275,12 @@
optional .Anki.Vector.external_interface.LookAroundInPlaceResponse look_around_in_place_response = 407;
optional .Anki.Vector.external_interface.RollBlockRequest roll_block_request = 408;
optional .Anki.Vector.external_interface.RollBlockResponse roll_block_response = 409;
+ optional .Anki.Vector.external_interface.EnrollFaceRequest enroll_face_request = 410;
+ optional .Anki.Vector.external_interface.EnrollFaceResponse enroll_face_response = 411;
+ optional .Anki.Vector.external_interface.SetFaceToEnrollRequest set_face_to_enroll_request = 412;
+ optional .Anki.Vector.external_interface.SetFaceToEnrollResponse set_face_to_enroll_response = 413;
+ optional .Anki.Vector.external_interface.CancelBehaviorRequest cancel_behavior_request = 414;
+ optional .Anki.Vector.external_interface.CancelBehaviorResponse cancel_behavior_response = 415;
optional .Anki.Vector.external_interface.TurnInPlaceRequest turn_in_place_request = 500;
optional .Anki.Vector.external_interface.TurnInPlaceResponse turn_in_place_response = 501;
optional .Anki.Vector.external_interface.DriveStraightRequest drive_straight_request = 502;
@@ -1354,6 +1369,10 @@
optional .Anki.Vector.external_interface.SetEyeColorResponse set_eye_color_response = 1701;
optional .Anki.Vector.external_interface.MasterVolumeRequest master_volume_request = 1702;
optional .Anki.Vector.external_interface.MasterVolumeResponse master_volume_response = 1703;
+ optional .Anki.Vector.external_interface.SetCameraSettingsRequest set_camera_settings_request = 1704;
+ optional .Anki.Vector.external_interface.SetCameraSettingsResponse set_camera_settings_response = 1705;
+ optional .Anki.Vector.external_interface.CameraConfigRequest camera_config_request = 1706;
+ optional .Anki.Vector.external_interface.CameraConfigResponse camera_config_response = 1707;
optional .Anki.Vector.external_interface.ExternalAudioStreamPrepare external_audio_stream_prepare = 1800;
optional .Anki.Vector.external_interface.ExternalAudioStreamChunk external_audio_stream_chunk = 1801;
optional .Anki.Vector.external_interface.ExternalAudioStreamCancel external_audio_stream_cancel = 1802;
@@ -1389,6 +1408,19 @@
ROBOT_STATUS_IS_BEING_HELD = 65536;
ROBOT_STATUS_IS_MOTION_DETECTED = 131072;
}
+enum UnexpectedMovementType {
+ TURNED_BUT_STOPPED = 0;
+ TURNED_IN_SAME_DIRECTION = 1;
+ TURNED_IN_OPPOSITE_DIRECTION = 2;
+ ROTATING_WITHOUT_MOTORS = 3;
+}
+enum UnexpectedMovementSide {
+ UNKNOWN = 0;
+ FRONT = 1;
+ BACK = 2;
+ LEFT = 3;
+ RIGHT = 4;
+}
enum FacialExpression {
EXPRESSION_UNKNOWN = 0;
EXPRESSION_NEUTRAL = 1;
@@ -1669,6 +1701,39 @@
optional float height = 4;
}
+message RobotObservedMotion {
+ optional uint32 timestamp = 1;
+ optional float img_area = 2;
+ optional int32 img_x = 3;
+ optional int32 img_y = 4;
+ optional float ground_area = 5;
+ optional int32 ground_x = 6;
+ optional int32 ground_y = 7;
+ optional float top_img_area = 8;
+ optional int32 top_img_x = 9;
+ optional int32 top_img_y = 10;
+ optional float bottom_img_area = 11;
+ optional int32 bottom_img_x = 12;
+ optional int32 bottom_img_y = 13;
+ optional float left_img_area = 14;
+ optional int32 left_img_x = 15;
+ optional int32 left_img_y = 16;
+ optional float right_img_area = 17;
+ optional int32 right_img_x = 18;
+ optional int32 right_img_y = 19;
+}
+
+message RobotErasedEnrolledFace {
+ optional int32 face_id = 1;
+ optional string name = 2;
+}
+
+message UnexpectedMovement {
+ optional uint32 timestamp = 1;
+ optional .Anki.Vector.external_interface.UnexpectedMovementType movement_type = 2;
+ optional .Anki.Vector.external_interface.UnexpectedMovementSide movement_side = 3;
+}
+
message RobotObservedFace {
optional int32 face_id = 1;
optional uint32 timestamp = 2;
@@ -1761,6 +1826,14 @@
optional .Anki.Vector.external_interface.ResponseStatus status = 1;
}
+message EnrollFaceRequest {
+}
+
+message EnrollFaceResponse {
+ optional .Anki.Vector.external_interface.ResponseStatus status = 1;
+ optional .Anki.Vector.external_interface.BehaviorResults result = 2;
+}
+
message DriveOffChargerRequest {
}
@@ -1953,6 +2026,13 @@
optional .Anki.Vector.external_interface.ResponseStatus status = 1;
}
+message CancelBehaviorRequest {
+}
+
+message CancelBehaviorResponse {
+ optional .Anki.Vector.external_interface.ResponseStatus status = 1;
+}
+
message GoToPoseRequest {
optional float x_mm = 1;
optional float y_mm = 2;
@@ -2158,6 +2238,7 @@
optional string text = 1;
optional bool use_vector_voice = 2;
optional float duration_scalar = 3;
+ optional float pitch_scalar = 4;
}
message SayTextResponse {
@@ -2304,6 +2385,7 @@
message EnableImageStreamingRequest {
optional bool enable = 1;
+ optional bool enable_high_resolution = 2;
}
message EnableImageStreamingResponse {
@@ -2356,6 +2438,7 @@
}
message CaptureSingleImageRequest {
+ optional bool enable_high_resolution = 1;
}
message CaptureSingleImageResponse {
@@ -2375,6 +2458,39 @@
optional .Anki.Vector.external_interface.ResponseStatus status = 1;
}
+message CameraConfigRequest {
+}
+
+message CameraConfigResponse {
+ optional float focal_length_x = 1;
+ optional float focal_length_y = 2;
+ optional float center_x = 3;
+ optional float center_y = 4;
+ optional float fov_x = 5;
+ optional float fov_y = 6;
+ optional uint32 min_camera_exposure_time_ms = 7;
+ optional uint32 max_camera_exposure_time_ms = 8;
+ optional float min_camera_gain = 9;
+ optional float max_camera_gain = 10;
+}
+
+message SetCameraSettingsRequest {
+ optional float gain = 1;
+ optional uint32 exposure_ms = 2;
+ optional bool enable_auto_exposure = 3;
+}
+
+message SetCameraSettingsResponse {
+ optional .Anki.Vector.external_interface.ResponseStatus status = 1;
+ optional string status_message = 2;
+}
+
+message CameraSettingsUpdate {
+ optional float gain = 1;
+ optional uint32 exposure_ms = 2;
+ optional bool auto_exposure_enabled = 3;
+}
+
message SDKInitializationRequest {
optional string sdk_module_version = 1;
optional string python_version = 2;
@@ -2570,14 +2686,21 @@
message CheckUpdateStatusResponse {
enum UpdateStatus {
NO_UPDATE = 0;
- READY_TO_INSTALL = 1;
+ READY_TO_REBOOT_INTO_NEW_OS_VERSION = 1;
IN_PROGRESS_DOWNLOAD = 2;
+ FAILURE_INTERRUPTED_DOWNLOAD = 3;
+ IN_PROGRESS_STARTING = 4;
+ IN_PROGRESS_OTHER = 5;
+ FAILURE_OTHER = 6;
}
optional .Anki.Vector.external_interface.ResponseStatus status = 1;
optional .Anki.Vector.external_interface.CheckUpdateStatusResponse.UpdateStatus update_status = 2;
optional int64 expected = 3;
optional int64 progress = 4;
optional string update_version = 5;
+ optional string update_phase = 6;
+ optional string error = 7;
+ optional int64 exit_code = 8;
}
message UploadDebugLogsRequest {
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment