diff --git a/src/FieldElementSubsystems.Test/Point/PointTest.cs b/src/FieldElementSubsystems.Test/Point/PointTest.cs index 56922fd..1f6b5af 100644 --- a/src/FieldElementSubsystems.Test/Point/PointTest.cs +++ b/src/FieldElementSubsystems.Test/Point/PointTest.cs @@ -183,14 +183,14 @@ public async Task Test_AbilityToMove(AbilityToMove simulatedAbilityToMove, Gener connection .SetupSequence(m => m.ReceiveMovePointCommand(It.IsAny())) - .Returns(() => + .Returns(async () => { var message = new AbilityToMoveMessage { Ability = simulatedAbilityToMove }; - point.SetAbilityToMove(message); - return Task.FromResult(GenericPointPosition.Left); + await point.SetAbilityToMove(message); + return GenericPointPosition.Left; }) .Returns(() => { diff --git a/src/Point/IPoint.cs b/src/Point/IPoint.cs index 3e93262..6b36b09 100644 --- a/src/Point/IPoint.cs +++ b/src/Point/IPoint.cs @@ -11,6 +11,7 @@ public interface IPoint { void EnableTimeoutLeft(bool enableMovementFailed); void EnableTimeoutRight(bool enableMovementFailed); + void EnableInitializationTimeout(bool enableInitializationFailed); void PreventLeftEndPosition(PreventedPositionMessage request); void PreventRightEndPosition(PreventedPositionMessage request); Task PutIntoUnintendedPosition(DegradedPositionMessage request); diff --git a/src/Point/Point.cs b/src/Point/Point.cs index 4df3415..ce5d6ac 100644 --- a/src/Point/Point.cs +++ b/src/Point/Point.cs @@ -84,7 +84,7 @@ public Point(ILogger logger, IConfiguration configuration, IPointToInterl DegradedPositionRight: false, SimulateTimeoutLeft: false, SimulateTimeoutRight: false, - SimulateInitialisationTimeout: false + SimulateInitializationTimeout: false ); Observable.FromEventPattern(h => PropertyChanged += h, h => PropertyChanged -= h) @@ -100,16 +100,15 @@ public async Task SendSciMessage(SciMessage message) } /// - /// Sets the timeout flag for the next move left command. + /// Sets the sets the initialization timeout flag for the next initialization. /// public void EnableInitializationTimeout(bool enableInitialisationTimeout) { _logger.LogInformation("Reset and Timeout on next initialisation handshake enabled."); _simulatedPointState = _simulatedPointState with { - SimulateInitialisationTimeout = enableInitialisationTimeout + SimulateInitializationTimeout = enableInitialisationTimeout }; - Reset(); } /// @@ -268,7 +267,7 @@ protected override async Task ExecuteAsync(CancellationToken stoppingToken) try { - var success = await Connection.InitializeConnection(PointState, _config.ObserveAbilityToMove, _simulatedPointState.SimulateInitialisationTimeout, _resetTokenSource.Token); + var success = await Connection.InitializeConnection(PointState, _config.ObserveAbilityToMove, _simulatedPointState.SimulateInitializationTimeout, _resetTokenSource.Token); if (!success) { throw new Exception("Unable to initialize connection"); diff --git a/src/Point/Services/PointService.cs b/src/Point/Services/PointService.cs index 745f0f6..0ab5d2a 100644 --- a/src/Point/Services/PointService.cs +++ b/src/Point/Services/PointService.cs @@ -53,6 +53,12 @@ public override async Task OverrideSciMessage(SciMessage request, ServerC return new Empty(); } + public override Task ScheduleInitializationTimeout(EnableInitializationFailedMessage request, ServerCallContext context) + { + _point.EnableInitializationTimeout(request.EnableInitializationFailed); + return Task.FromResult(new Empty()); + } + public override Task SchedulePreventLeftEndPosition(PreventedPositionMessage request, ServerCallContext context) { _point.PreventLeftEndPosition(request); diff --git a/src/Point/SimulatedPointState.cs b/src/Point/SimulatedPointState.cs index 6a77a9b..1f14b91 100644 --- a/src/Point/SimulatedPointState.cs +++ b/src/Point/SimulatedPointState.cs @@ -10,6 +10,6 @@ public record SimulatedPointState( bool DegradedPositionRight, bool SimulateTimeoutLeft, bool SimulateTimeoutRight, - bool SimulateInitialisationTimeout + bool SimulateInitializationTimeout ); } diff --git a/src/Point/rasta-point-web/src/App.tsx b/src/Point/rasta-point-web/src/App.tsx index 27f174d..dab3b63 100644 --- a/src/Point/rasta-point-web/src/App.tsx +++ b/src/Point/rasta-point-web/src/App.tsx @@ -18,7 +18,8 @@ export type SimulatedPointState = { 'degradedPositionLeft': boolean, 'degradedPositionRight': boolean, 'simulateTimeoutLeft': boolean, - 'simulateTimeoutRight': boolean + 'simulateTimeoutRight': boolean, + 'simulateInitializationTimeout': boolean }; export type SimulatorConfiguration = { diff --git a/src/Point/rasta-point-web/src/Point.tsx b/src/Point/rasta-point-web/src/Point.tsx index f7b175b..73685d2 100644 --- a/src/Point/rasta-point-web/src/Point.tsx +++ b/src/Point/rasta-point-web/src/Point.tsx @@ -6,6 +6,7 @@ import { PointClient } from './proto/PointServiceClientPb'; import { PreventedPosition, AbilityToMoveMessage, AbilityToMove, PreventedPositionMessage, DegradedPositionMessage, EnableMovementFailedMessage, + EnableInitializationFailedMessage, } from './proto/point_pb'; import { PointState, SimulatedPointState, SimulatorConfiguration } from './App'; @@ -345,14 +346,25 @@ function Point({ Connectivity - + +
+ sendCommand((client) => client.scheduleInitializationTimeout(new EnableInitializationFailedMessage().setEnableinitializationfailed(enable), null)) + } + /> +
+ diff --git a/src/Point/rasta-point-web/src/proto/PointServiceClientPb.ts b/src/Point/rasta-point-web/src/proto/PointServiceClientPb.ts index 0715350..5124741 100644 --- a/src/Point/rasta-point-web/src/proto/PointServiceClientPb.ts +++ b/src/Point/rasta-point-web/src/proto/PointServiceClientPb.ts @@ -6,8 +6,8 @@ // Code generated by protoc-gen-grpc-web. DO NOT EDIT. // versions: -// protoc-gen-grpc-web v1.5.0 -// protoc v4.25.1 +// protoc-gen-grpc-web v1.4.2 +// protoc v4.25.0 // source: point.proto @@ -17,8 +17,8 @@ import * as grpcWeb from 'grpc-web'; -import * as google_protobuf_empty_pb from 'google-protobuf/google/protobuf/empty_pb'; // proto import: "google/protobuf/empty.proto" -import * as point_pb from './point_pb'; // proto import: "point.proto" +import * as google_protobuf_empty_pb from 'google-protobuf/google/protobuf/empty_pb'; +import * as point_pb from './point_pb'; export class PointClient { @@ -53,7 +53,7 @@ export class PointClient { getPointPosition( request: google_protobuf_empty_pb.Empty, - metadata?: grpcWeb.Metadata | null): Promise; + metadata: grpcWeb.Metadata | null): Promise; getPointPosition( request: google_protobuf_empty_pb.Empty, @@ -63,7 +63,7 @@ export class PointClient { getPointPosition( request: google_protobuf_empty_pb.Empty, - metadata?: grpcWeb.Metadata | null, + metadata: grpcWeb.Metadata | null, callback?: (err: grpcWeb.RpcError, response: point_pb.PointPositionMessage) => void) { if (callback !== undefined) { @@ -96,7 +96,7 @@ export class PointClient { getDegradedPointPosition( request: google_protobuf_empty_pb.Empty, - metadata?: grpcWeb.Metadata | null): Promise; + metadata: grpcWeb.Metadata | null): Promise; getDegradedPointPosition( request: google_protobuf_empty_pb.Empty, @@ -106,7 +106,7 @@ export class PointClient { getDegradedPointPosition( request: google_protobuf_empty_pb.Empty, - metadata?: grpcWeb.Metadata | null, + metadata: grpcWeb.Metadata | null, callback?: (err: grpcWeb.RpcError, response: point_pb.PointDegradedPositionMessage) => void) { if (callback !== undefined) { @@ -139,7 +139,7 @@ export class PointClient { putIntoUnintendedPosition( request: point_pb.DegradedPositionMessage, - metadata?: grpcWeb.Metadata | null): Promise; + metadata: grpcWeb.Metadata | null): Promise; putIntoUnintendedPosition( request: point_pb.DegradedPositionMessage, @@ -149,7 +149,7 @@ export class PointClient { putIntoUnintendedPosition( request: point_pb.DegradedPositionMessage, - metadata?: grpcWeb.Metadata | null, + metadata: grpcWeb.Metadata | null, callback?: (err: grpcWeb.RpcError, response: google_protobuf_empty_pb.Empty) => void) { if (callback !== undefined) { @@ -182,7 +182,7 @@ export class PointClient { putIntoTrailedPosition( request: point_pb.DegradedPositionMessage, - metadata?: grpcWeb.Metadata | null): Promise; + metadata: grpcWeb.Metadata | null): Promise; putIntoTrailedPosition( request: point_pb.DegradedPositionMessage, @@ -192,7 +192,7 @@ export class PointClient { putIntoTrailedPosition( request: point_pb.DegradedPositionMessage, - metadata?: grpcWeb.Metadata | null, + metadata: grpcWeb.Metadata | null, callback?: (err: grpcWeb.RpcError, response: google_protobuf_empty_pb.Empty) => void) { if (callback !== undefined) { @@ -225,7 +225,7 @@ export class PointClient { setAbilityToMove( request: point_pb.AbilityToMoveMessage, - metadata?: grpcWeb.Metadata | null): Promise; + metadata: grpcWeb.Metadata | null): Promise; setAbilityToMove( request: point_pb.AbilityToMoveMessage, @@ -235,7 +235,7 @@ export class PointClient { setAbilityToMove( request: point_pb.AbilityToMoveMessage, - metadata?: grpcWeb.Metadata | null, + metadata: grpcWeb.Metadata | null, callback?: (err: grpcWeb.RpcError, response: google_protobuf_empty_pb.Empty) => void) { if (callback !== undefined) { @@ -268,7 +268,7 @@ export class PointClient { sendSciMessage( request: point_pb.SciMessage, - metadata?: grpcWeb.Metadata | null): Promise; + metadata: grpcWeb.Metadata | null): Promise; sendSciMessage( request: point_pb.SciMessage, @@ -278,7 +278,7 @@ export class PointClient { sendSciMessage( request: point_pb.SciMessage, - metadata?: grpcWeb.Metadata | null, + metadata: grpcWeb.Metadata | null, callback?: (err: grpcWeb.RpcError, response: google_protobuf_empty_pb.Empty) => void) { if (callback !== undefined) { @@ -311,7 +311,7 @@ export class PointClient { overrideSciMessage( request: point_pb.SciMessage, - metadata?: grpcWeb.Metadata | null): Promise; + metadata: grpcWeb.Metadata | null): Promise; overrideSciMessage( request: point_pb.SciMessage, @@ -321,7 +321,7 @@ export class PointClient { overrideSciMessage( request: point_pb.SciMessage, - metadata?: grpcWeb.Metadata | null, + metadata: grpcWeb.Metadata | null, callback?: (err: grpcWeb.RpcError, response: google_protobuf_empty_pb.Empty) => void) { if (callback !== undefined) { @@ -354,7 +354,7 @@ export class PointClient { schedulePreventRightEndPosition( request: point_pb.PreventedPositionMessage, - metadata?: grpcWeb.Metadata | null): Promise; + metadata: grpcWeb.Metadata | null): Promise; schedulePreventRightEndPosition( request: point_pb.PreventedPositionMessage, @@ -364,7 +364,7 @@ export class PointClient { schedulePreventRightEndPosition( request: point_pb.PreventedPositionMessage, - metadata?: grpcWeb.Metadata | null, + metadata: grpcWeb.Metadata | null, callback?: (err: grpcWeb.RpcError, response: google_protobuf_empty_pb.Empty) => void) { if (callback !== undefined) { @@ -397,7 +397,7 @@ export class PointClient { schedulePreventLeftEndPosition( request: point_pb.PreventedPositionMessage, - metadata?: grpcWeb.Metadata | null): Promise; + metadata: grpcWeb.Metadata | null): Promise; schedulePreventLeftEndPosition( request: point_pb.PreventedPositionMessage, @@ -407,7 +407,7 @@ export class PointClient { schedulePreventLeftEndPosition( request: point_pb.PreventedPositionMessage, - metadata?: grpcWeb.Metadata | null, + metadata: grpcWeb.Metadata | null, callback?: (err: grpcWeb.RpcError, response: google_protobuf_empty_pb.Empty) => void) { if (callback !== undefined) { @@ -440,7 +440,7 @@ export class PointClient { scheduleTimeoutRight( request: point_pb.EnableMovementFailedMessage, - metadata?: grpcWeb.Metadata | null): Promise; + metadata: grpcWeb.Metadata | null): Promise; scheduleTimeoutRight( request: point_pb.EnableMovementFailedMessage, @@ -450,7 +450,7 @@ export class PointClient { scheduleTimeoutRight( request: point_pb.EnableMovementFailedMessage, - metadata?: grpcWeb.Metadata | null, + metadata: grpcWeb.Metadata | null, callback?: (err: grpcWeb.RpcError, response: google_protobuf_empty_pb.Empty) => void) { if (callback !== undefined) { @@ -483,7 +483,7 @@ export class PointClient { scheduleTimeoutLeft( request: point_pb.EnableMovementFailedMessage, - metadata?: grpcWeb.Metadata | null): Promise; + metadata: grpcWeb.Metadata | null): Promise; scheduleTimeoutLeft( request: point_pb.EnableMovementFailedMessage, @@ -493,7 +493,7 @@ export class PointClient { scheduleTimeoutLeft( request: point_pb.EnableMovementFailedMessage, - metadata?: grpcWeb.Metadata | null, + metadata: grpcWeb.Metadata | null, callback?: (err: grpcWeb.RpcError, response: google_protobuf_empty_pb.Empty) => void) { if (callback !== undefined) { @@ -513,6 +513,49 @@ export class PointClient { this.methodDescriptorScheduleTimeoutLeft); } + methodDescriptorScheduleInitializationTimeout = new grpcWeb.MethodDescriptor( + '/point.Point/ScheduleInitializationTimeout', + grpcWeb.MethodType.UNARY, + point_pb.EnableInitializationFailedMessage, + google_protobuf_empty_pb.Empty, + (request: point_pb.EnableInitializationFailedMessage) => { + return request.serializeBinary(); + }, + google_protobuf_empty_pb.Empty.deserializeBinary + ); + + scheduleInitializationTimeout( + request: point_pb.EnableInitializationFailedMessage, + metadata: grpcWeb.Metadata | null): Promise; + + scheduleInitializationTimeout( + request: point_pb.EnableInitializationFailedMessage, + metadata: grpcWeb.Metadata | null, + callback: (err: grpcWeb.RpcError, + response: google_protobuf_empty_pb.Empty) => void): grpcWeb.ClientReadableStream; + + scheduleInitializationTimeout( + request: point_pb.EnableInitializationFailedMessage, + metadata: grpcWeb.Metadata | null, + callback?: (err: grpcWeb.RpcError, + response: google_protobuf_empty_pb.Empty) => void) { + if (callback !== undefined) { + return this.client_.rpcCall( + this.hostname_ + + '/point.Point/ScheduleInitializationTimeout', + request, + metadata || {}, + this.methodDescriptorScheduleInitializationTimeout, + callback); + } + return this.client_.unaryCall( + this.hostname_ + + '/point.Point/ScheduleInitializationTimeout', + request, + metadata || {}, + this.methodDescriptorScheduleInitializationTimeout); + } + methodDescriptorReset = new grpcWeb.MethodDescriptor( '/point.Point/Reset', grpcWeb.MethodType.UNARY, @@ -526,7 +569,7 @@ export class PointClient { reset( request: google_protobuf_empty_pb.Empty, - metadata?: grpcWeb.Metadata | null): Promise; + metadata: grpcWeb.Metadata | null): Promise; reset( request: google_protobuf_empty_pb.Empty, @@ -536,7 +579,7 @@ export class PointClient { reset( request: google_protobuf_empty_pb.Empty, - metadata?: grpcWeb.Metadata | null, + metadata: grpcWeb.Metadata | null, callback?: (err: grpcWeb.RpcError, response: google_protobuf_empty_pb.Empty) => void) { if (callback !== undefined) { diff --git a/src/Point/rasta-point-web/src/proto/point_pb.d.ts b/src/Point/rasta-point-web/src/proto/point_pb.d.ts index 5aaff10..3ca05ad 100644 --- a/src/Point/rasta-point-web/src/proto/point_pb.d.ts +++ b/src/Point/rasta-point-web/src/proto/point_pb.d.ts @@ -1,6 +1,6 @@ import * as jspb from 'google-protobuf' -import * as google_protobuf_empty_pb from 'google-protobuf/google/protobuf/empty_pb'; // proto import: "google/protobuf/empty.proto" +import * as google_protobuf_empty_pb from 'google-protobuf/google/protobuf/empty_pb'; export class AbilityToMoveMessage extends jspb.Message { @@ -99,6 +99,24 @@ export namespace EnableMovementFailedMessage { } } +export class EnableInitializationFailedMessage extends jspb.Message { + getEnableinitializationfailed(): boolean; + setEnableinitializationfailed(value: boolean): EnableInitializationFailedMessage; + + serializeBinary(): Uint8Array; + toObject(includeInstance?: boolean): EnableInitializationFailedMessage.AsObject; + static toObject(includeInstance: boolean, msg: EnableInitializationFailedMessage): EnableInitializationFailedMessage.AsObject; + static serializeBinaryToWriter(message: EnableInitializationFailedMessage, writer: jspb.BinaryWriter): void; + static deserializeBinary(bytes: Uint8Array): EnableInitializationFailedMessage; + static deserializeBinaryFromReader(message: EnableInitializationFailedMessage, reader: jspb.BinaryReader): EnableInitializationFailedMessage; +} + +export namespace EnableInitializationFailedMessage { + export type AsObject = { + enableinitializationfailed: boolean, + } +} + export class PointPositionMessage extends jspb.Message { getPosition(): PointPosition; setPosition(value: PointPosition): PointPositionMessage; diff --git a/src/Point/rasta-point-web/src/proto/point_pb.js b/src/Point/rasta-point-web/src/proto/point_pb.js index 8242a32..ec8d16e 100644 --- a/src/Point/rasta-point-web/src/proto/point_pb.js +++ b/src/Point/rasta-point-web/src/proto/point_pb.js @@ -26,6 +26,7 @@ goog.object.extend(proto, google_protobuf_empty_pb); goog.exportSymbol('proto.point.AbilityToMove', null, global); goog.exportSymbol('proto.point.AbilityToMoveMessage', null, global); goog.exportSymbol('proto.point.DegradedPositionMessage', null, global); +goog.exportSymbol('proto.point.EnableInitializationFailedMessage', null, global); goog.exportSymbol('proto.point.EnableMovementFailedMessage', null, global); goog.exportSymbol('proto.point.PointDegradedPosition', null, global); goog.exportSymbol('proto.point.PointDegradedPositionMessage', null, global); @@ -139,6 +140,27 @@ if (goog.DEBUG && !COMPILED) { */ proto.point.EnableMovementFailedMessage.displayName = 'proto.point.EnableMovementFailedMessage'; } +/** + * Generated by JsPbCodeGenerator. + * @param {Array=} opt_data Optional initial data array, typically from a + * server response, or constructed directly in Javascript. The array is used + * in place and becomes part of the constructed object. It is not cloned. + * If no data is provided, the constructed object will be empty, but still + * valid. + * @extends {jspb.Message} + * @constructor + */ +proto.point.EnableInitializationFailedMessage = function(opt_data) { + jspb.Message.initialize(this, opt_data, 0, -1, null, null); +}; +goog.inherits(proto.point.EnableInitializationFailedMessage, jspb.Message); +if (goog.DEBUG && !COMPILED) { + /** + * @public + * @override + */ + proto.point.EnableInitializationFailedMessage.displayName = 'proto.point.EnableInitializationFailedMessage'; +} /** * Generated by JsPbCodeGenerator. * @param {Array=} opt_data Optional initial data array, typically from a @@ -888,6 +910,136 @@ proto.point.EnableMovementFailedMessage.prototype.setEnablemovementfailed = func +if (jspb.Message.GENERATE_TO_OBJECT) { +/** + * Creates an object representation of this proto. + * Field names that are reserved in JavaScript and will be renamed to pb_name. + * Optional fields that are not set will be set to undefined. + * To access a reserved field use, foo.pb_, eg, foo.pb_default. + * For the list of reserved names please see: + * net/proto2/compiler/js/internal/generator.cc#kKeyword. + * @param {boolean=} opt_includeInstance Deprecated. whether to include the + * JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @return {!Object} + */ +proto.point.EnableInitializationFailedMessage.prototype.toObject = function(opt_includeInstance) { + return proto.point.EnableInitializationFailedMessage.toObject(opt_includeInstance, this); +}; + + +/** + * Static version of the {@see toObject} method. + * @param {boolean|undefined} includeInstance Deprecated. Whether to include + * the JSPB instance for transitional soy proto support: + * http://goto/soy-param-migration + * @param {!proto.point.EnableInitializationFailedMessage} msg The msg instance to transform. + * @return {!Object} + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.point.EnableInitializationFailedMessage.toObject = function(includeInstance, msg) { + var f, obj = { + enableinitializationfailed: jspb.Message.getBooleanFieldWithDefault(msg, 1, false) + }; + + if (includeInstance) { + obj.$jspbMessageInstance = msg; + } + return obj; +}; +} + + +/** + * Deserializes binary data (in protobuf wire format). + * @param {jspb.ByteSource} bytes The bytes to deserialize. + * @return {!proto.point.EnableInitializationFailedMessage} + */ +proto.point.EnableInitializationFailedMessage.deserializeBinary = function(bytes) { + var reader = new jspb.BinaryReader(bytes); + var msg = new proto.point.EnableInitializationFailedMessage; + return proto.point.EnableInitializationFailedMessage.deserializeBinaryFromReader(msg, reader); +}; + + +/** + * Deserializes binary data (in protobuf wire format) from the + * given reader into the given message object. + * @param {!proto.point.EnableInitializationFailedMessage} msg The message object to deserialize into. + * @param {!jspb.BinaryReader} reader The BinaryReader to use. + * @return {!proto.point.EnableInitializationFailedMessage} + */ +proto.point.EnableInitializationFailedMessage.deserializeBinaryFromReader = function(msg, reader) { + while (reader.nextField()) { + if (reader.isEndGroup()) { + break; + } + var field = reader.getFieldNumber(); + switch (field) { + case 1: + var value = /** @type {boolean} */ (reader.readBool()); + msg.setEnableinitializationfailed(value); + break; + default: + reader.skipField(); + break; + } + } + return msg; +}; + + +/** + * Serializes the message to binary data (in protobuf wire format). + * @return {!Uint8Array} + */ +proto.point.EnableInitializationFailedMessage.prototype.serializeBinary = function() { + var writer = new jspb.BinaryWriter(); + proto.point.EnableInitializationFailedMessage.serializeBinaryToWriter(this, writer); + return writer.getResultBuffer(); +}; + + +/** + * Serializes the given message to binary data (in protobuf wire + * format), writing to the given BinaryWriter. + * @param {!proto.point.EnableInitializationFailedMessage} message + * @param {!jspb.BinaryWriter} writer + * @suppress {unusedLocalVariables} f is only used for nested messages + */ +proto.point.EnableInitializationFailedMessage.serializeBinaryToWriter = function(message, writer) { + var f = undefined; + f = message.getEnableinitializationfailed(); + if (f) { + writer.writeBool( + 1, + f + ); + } +}; + + +/** + * optional bool EnableInitializationFailed = 1; + * @return {boolean} + */ +proto.point.EnableInitializationFailedMessage.prototype.getEnableinitializationfailed = function() { + return /** @type {boolean} */ (jspb.Message.getBooleanFieldWithDefault(this, 1, false)); +}; + + +/** + * @param {boolean} value + * @return {!proto.point.EnableInitializationFailedMessage} returns this + */ +proto.point.EnableInitializationFailedMessage.prototype.setEnableinitializationfailed = function(value) { + return jspb.Message.setProto3BooleanField(this, 1, value); +}; + + + + + if (jspb.Message.GENERATE_TO_OBJECT) { /** * Creates an object representation of this proto. diff --git a/src/ProtobufInterfaces/proto/point.proto b/src/ProtobufInterfaces/proto/point.proto index d182c83..979a6b7 100644 --- a/src/ProtobufInterfaces/proto/point.proto +++ b/src/ProtobufInterfaces/proto/point.proto @@ -41,6 +41,7 @@ service Point { rpc ScheduleTimeoutRight (EnableMovementFailedMessage) returns (google.protobuf.Empty) {} rpc ScheduleTimeoutLeft (EnableMovementFailedMessage) returns (google.protobuf.Empty) {} + rpc ScheduleInitializationTimeout (EnableInitializationFailedMessage) returns (google.protobuf.Empty) {} rpc Reset (google.protobuf.Empty) returns (google.protobuf.Empty) {} } @@ -70,6 +71,10 @@ message EnableMovementFailedMessage { bool enableMovementFailed = 1; } +message EnableInitializationFailedMessage { + bool EnableInitializationFailed = 1; +} + message PointPositionMessage { PointPosition position = 1; }