spot-sdk-ts
Version:
TypeScript bindings based on protobufs (proto3) provided by Boston Dynamics
1,487 lines (1,390 loc) • 47.4 kB
text/typescript
/* eslint-disable */
import { Timestamp } from "../../../google/protobuf/timestamp";
import { RequestHeader, ResponseHeader } from "../header";
import { Lease, LeaseUseResult } from "../lease";
import _m0 from "protobufjs/minimal";
export const protobufPackage = "bosdyn.api.docking";
/** Type of dock */
export enum DockType {
/** DOCK_TYPE_UNKNOWN - Unknown type of dock */
DOCK_TYPE_UNKNOWN = 0,
/** DOCK_TYPE_CONTACT_PROTOTYPE - Prototype version SpotDock */
DOCK_TYPE_CONTACT_PROTOTYPE = 2,
/** DOCK_TYPE_SPOT_DOCK - Production version SpotDock */
DOCK_TYPE_SPOT_DOCK = 3,
UNRECOGNIZED = -1,
}
export function dockTypeFromJSON(object: any): DockType {
switch (object) {
case 0:
case "DOCK_TYPE_UNKNOWN":
return DockType.DOCK_TYPE_UNKNOWN;
case 2:
case "DOCK_TYPE_CONTACT_PROTOTYPE":
return DockType.DOCK_TYPE_CONTACT_PROTOTYPE;
case 3:
case "DOCK_TYPE_SPOT_DOCK":
return DockType.DOCK_TYPE_SPOT_DOCK;
case -1:
case "UNRECOGNIZED":
default:
return DockType.UNRECOGNIZED;
}
}
export function dockTypeToJSON(object: DockType): string {
switch (object) {
case DockType.DOCK_TYPE_UNKNOWN:
return "DOCK_TYPE_UNKNOWN";
case DockType.DOCK_TYPE_CONTACT_PROTOTYPE:
return "DOCK_TYPE_CONTACT_PROTOTYPE";
case DockType.DOCK_TYPE_SPOT_DOCK:
return "DOCK_TYPE_SPOT_DOCK";
case DockType.UNRECOGNIZED:
default:
return "UNRECOGNIZED";
}
}
/** Defines how and whether we use the "pre-docking" pose. */
export enum PrepPoseBehavior {
/** PREP_POSE_UNKNOWN - Default behavior, equivalent to PREP_POSE_USE_POSE. */
PREP_POSE_UNKNOWN = 0,
/** PREP_POSE_USE_POSE - Goes to the pre-docking pose before docking. */
PREP_POSE_USE_POSE = 1,
/** PREP_POSE_SKIP_POSE - Docks before going to the pre-docking pose. */
PREP_POSE_SKIP_POSE = 2,
/** PREP_POSE_ONLY_POSE - Goes to the pre-docking pose, and then returns SUCCESS without docking. */
PREP_POSE_ONLY_POSE = 3,
/** PREP_POSE_UNDOCK - Use this enum to undock a currently docked robot. */
PREP_POSE_UNDOCK = 4,
UNRECOGNIZED = -1,
}
export function prepPoseBehaviorFromJSON(object: any): PrepPoseBehavior {
switch (object) {
case 0:
case "PREP_POSE_UNKNOWN":
return PrepPoseBehavior.PREP_POSE_UNKNOWN;
case 1:
case "PREP_POSE_USE_POSE":
return PrepPoseBehavior.PREP_POSE_USE_POSE;
case 2:
case "PREP_POSE_SKIP_POSE":
return PrepPoseBehavior.PREP_POSE_SKIP_POSE;
case 3:
case "PREP_POSE_ONLY_POSE":
return PrepPoseBehavior.PREP_POSE_ONLY_POSE;
case 4:
case "PREP_POSE_UNDOCK":
return PrepPoseBehavior.PREP_POSE_UNDOCK;
case -1:
case "UNRECOGNIZED":
default:
return PrepPoseBehavior.UNRECOGNIZED;
}
}
export function prepPoseBehaviorToJSON(object: PrepPoseBehavior): string {
switch (object) {
case PrepPoseBehavior.PREP_POSE_UNKNOWN:
return "PREP_POSE_UNKNOWN";
case PrepPoseBehavior.PREP_POSE_USE_POSE:
return "PREP_POSE_USE_POSE";
case PrepPoseBehavior.PREP_POSE_SKIP_POSE:
return "PREP_POSE_SKIP_POSE";
case PrepPoseBehavior.PREP_POSE_ONLY_POSE:
return "PREP_POSE_ONLY_POSE";
case PrepPoseBehavior.PREP_POSE_UNDOCK:
return "PREP_POSE_UNDOCK";
case PrepPoseBehavior.UNRECOGNIZED:
default:
return "UNRECOGNIZED";
}
}
/**
* Message to command the robot to dock. \
* Note: If the robot is docked, you can undock the robot by issuing a command with
* `prep_pose_behavior=PREP_POSE_UNDOCK`. If undocking, `docking_station_id` is not required.
*/
export interface DockingCommandRequest {
/** Common request header. */
header: RequestHeader | undefined;
/** The Lease to show ownership of the robot. */
lease: Lease | undefined;
/**
* ID of docking station to dock at.
* This is ignored if undocking the robot, the current dock is used.
*/
dockingStationId: number;
/** Identifier provided by the time sync service to verify time sync between robot and client. */
clockIdentifier: string;
/**
* The timestamp (in robot time) by which a command must finish executing.
* This is a required field and used to prevent runaway commands.
*/
endTime: Date | undefined;
/** [Optional] Specify the prep pose behavior */
prepPoseBehavior: PrepPoseBehavior;
}
/** Response to a DockingCommandRequest */
export interface DockingCommandResponse {
/** Common response header. */
header: ResponseHeader | undefined;
/** Details about how the lease was used. */
leaseUseResult: LeaseUseResult | undefined;
/** Result of issued command. */
status: DockingCommandResponse_Status;
/** Unique identifier for the command (if accepted, `status=STATUS_OK`). */
dockingCommandId: number;
}
export enum DockingCommandResponse_Status {
/** STATUS_UNKNOWN - Status is not specified. */
STATUS_UNKNOWN = 0,
/** STATUS_OK - Docking command accepted */
STATUS_OK = 1,
/** STATUS_ERROR_LEASE - ERROR: Lease rejected */
STATUS_ERROR_LEASE = 4,
/** STATUS_ERROR_DOCK_NOT_FOUND - ERROR: Dock fiducial not found. */
STATUS_ERROR_DOCK_NOT_FOUND = 5,
/** STATUS_ERROR_NOT_DOCKED - ERROR: Trying to undock while not docked */
STATUS_ERROR_NOT_DOCKED = 6,
/** STATUS_ERROR_GRIPPER_HOLDING_ITEM - ERROR: Trying to dock when the arm is holding an object. */
STATUS_ERROR_GRIPPER_HOLDING_ITEM = 8,
/** STATUS_ERROR_NOT_AVAILABLE - ERROR: The dock is not available for docking. */
STATUS_ERROR_NOT_AVAILABLE = 9,
/**
* STATUS_ERROR_SYSTEM - ERROR: Internal system error during execution
* This error cannot be resolved by issuing a new DockingCommand
* Check the returned message for details
*/
STATUS_ERROR_SYSTEM = 7,
UNRECOGNIZED = -1,
}
export function dockingCommandResponse_StatusFromJSON(
object: any
): DockingCommandResponse_Status {
switch (object) {
case 0:
case "STATUS_UNKNOWN":
return DockingCommandResponse_Status.STATUS_UNKNOWN;
case 1:
case "STATUS_OK":
return DockingCommandResponse_Status.STATUS_OK;
case 4:
case "STATUS_ERROR_LEASE":
return DockingCommandResponse_Status.STATUS_ERROR_LEASE;
case 5:
case "STATUS_ERROR_DOCK_NOT_FOUND":
return DockingCommandResponse_Status.STATUS_ERROR_DOCK_NOT_FOUND;
case 6:
case "STATUS_ERROR_NOT_DOCKED":
return DockingCommandResponse_Status.STATUS_ERROR_NOT_DOCKED;
case 8:
case "STATUS_ERROR_GRIPPER_HOLDING_ITEM":
return DockingCommandResponse_Status.STATUS_ERROR_GRIPPER_HOLDING_ITEM;
case 9:
case "STATUS_ERROR_NOT_AVAILABLE":
return DockingCommandResponse_Status.STATUS_ERROR_NOT_AVAILABLE;
case 7:
case "STATUS_ERROR_SYSTEM":
return DockingCommandResponse_Status.STATUS_ERROR_SYSTEM;
case -1:
case "UNRECOGNIZED":
default:
return DockingCommandResponse_Status.UNRECOGNIZED;
}
}
export function dockingCommandResponse_StatusToJSON(
object: DockingCommandResponse_Status
): string {
switch (object) {
case DockingCommandResponse_Status.STATUS_UNKNOWN:
return "STATUS_UNKNOWN";
case DockingCommandResponse_Status.STATUS_OK:
return "STATUS_OK";
case DockingCommandResponse_Status.STATUS_ERROR_LEASE:
return "STATUS_ERROR_LEASE";
case DockingCommandResponse_Status.STATUS_ERROR_DOCK_NOT_FOUND:
return "STATUS_ERROR_DOCK_NOT_FOUND";
case DockingCommandResponse_Status.STATUS_ERROR_NOT_DOCKED:
return "STATUS_ERROR_NOT_DOCKED";
case DockingCommandResponse_Status.STATUS_ERROR_GRIPPER_HOLDING_ITEM:
return "STATUS_ERROR_GRIPPER_HOLDING_ITEM";
case DockingCommandResponse_Status.STATUS_ERROR_NOT_AVAILABLE:
return "STATUS_ERROR_NOT_AVAILABLE";
case DockingCommandResponse_Status.STATUS_ERROR_SYSTEM:
return "STATUS_ERROR_SYSTEM";
case DockingCommandResponse_Status.UNRECOGNIZED:
default:
return "UNRECOGNIZED";
}
}
/** Message to get the status of a previously issued DockingCommand */
export interface DockingCommandFeedbackRequest {
/** Common request header. */
header: RequestHeader | undefined;
/** Unique identifier of the command to get feedback for. */
dockingCommandId: number;
}
/** Response to a DockingCommandFeedbackRequest for a particualar docking command ID */
export interface DockingCommandFeedbackResponse {
/** Common response header. */
header: ResponseHeader | undefined;
/** Details about how the lease was used (unset if unknown). */
leaseUseResult: LeaseUseResult | undefined;
/** Current feedback of specified command ID. */
status: DockingCommandFeedbackResponse_Status;
}
export enum DockingCommandFeedbackResponse_Status {
/** STATUS_UNKNOWN - Status is not specified. */
STATUS_UNKNOWN = 0,
/** STATUS_IN_PROGRESS - Docking command is executing. */
STATUS_IN_PROGRESS = 1,
/** STATUS_DOCKED - Docking command succeeded, the robot is docked. */
STATUS_DOCKED = 2,
/** STATUS_AT_PREP_POSE - Final success state for `PREP_POSE_ONLY_POSE` or `PREP_POSE_UNDOCK`. */
STATUS_AT_PREP_POSE = 11,
/**
* STATUS_MISALIGNED - Misaligned was detected between the robot and the dock.
* The docking command was aborted to save an ending up in an unrecoverable state, please try again.
*/
STATUS_MISALIGNED = 10,
/** STATUS_OLD_DOCKING_COMMAND - This DockingCommand overridden by new docking command. */
STATUS_OLD_DOCKING_COMMAND = 3,
/** STATUS_ERROR_DOCK_LOST - ERROR: The sensed dock has been lost and is no longer found. */
STATUS_ERROR_DOCK_LOST = 4,
/** STATUS_ERROR_LEASE - ERROR: Lease rejected. */
STATUS_ERROR_LEASE = 5,
/** STATUS_ERROR_COMMAND_TIMED_OUT - ERROR: End time has been reached. */
STATUS_ERROR_COMMAND_TIMED_OUT = 6,
/** STATUS_ERROR_NO_TIMESYNC - ERROR: No Timesync with system. */
STATUS_ERROR_NO_TIMESYNC = 7,
/** STATUS_ERROR_TOO_DISTANT - ERROR: Provided end time too far in the future. */
STATUS_ERROR_TOO_DISTANT = 8,
/** STATUS_ERROR_NOT_AVAILABLE - ERROR: The dock is not available for docking. */
STATUS_ERROR_NOT_AVAILABLE = 12,
/** STATUS_ERROR_UNREFINED_PRIOR - ERROR: The prior could not be confirmed as a real dock */
STATUS_ERROR_UNREFINED_PRIOR = 13,
/**
* STATUS_ERROR_SYSTEM - ERROR: Internal system error during execution
* This error cannot be resolved by issuing a new DockingCommand
* Check the returned message for details
*/
STATUS_ERROR_SYSTEM = 9,
UNRECOGNIZED = -1,
}
export function dockingCommandFeedbackResponse_StatusFromJSON(
object: any
): DockingCommandFeedbackResponse_Status {
switch (object) {
case 0:
case "STATUS_UNKNOWN":
return DockingCommandFeedbackResponse_Status.STATUS_UNKNOWN;
case 1:
case "STATUS_IN_PROGRESS":
return DockingCommandFeedbackResponse_Status.STATUS_IN_PROGRESS;
case 2:
case "STATUS_DOCKED":
return DockingCommandFeedbackResponse_Status.STATUS_DOCKED;
case 11:
case "STATUS_AT_PREP_POSE":
return DockingCommandFeedbackResponse_Status.STATUS_AT_PREP_POSE;
case 10:
case "STATUS_MISALIGNED":
return DockingCommandFeedbackResponse_Status.STATUS_MISALIGNED;
case 3:
case "STATUS_OLD_DOCKING_COMMAND":
return DockingCommandFeedbackResponse_Status.STATUS_OLD_DOCKING_COMMAND;
case 4:
case "STATUS_ERROR_DOCK_LOST":
return DockingCommandFeedbackResponse_Status.STATUS_ERROR_DOCK_LOST;
case 5:
case "STATUS_ERROR_LEASE":
return DockingCommandFeedbackResponse_Status.STATUS_ERROR_LEASE;
case 6:
case "STATUS_ERROR_COMMAND_TIMED_OUT":
return DockingCommandFeedbackResponse_Status.STATUS_ERROR_COMMAND_TIMED_OUT;
case 7:
case "STATUS_ERROR_NO_TIMESYNC":
return DockingCommandFeedbackResponse_Status.STATUS_ERROR_NO_TIMESYNC;
case 8:
case "STATUS_ERROR_TOO_DISTANT":
return DockingCommandFeedbackResponse_Status.STATUS_ERROR_TOO_DISTANT;
case 12:
case "STATUS_ERROR_NOT_AVAILABLE":
return DockingCommandFeedbackResponse_Status.STATUS_ERROR_NOT_AVAILABLE;
case 13:
case "STATUS_ERROR_UNREFINED_PRIOR":
return DockingCommandFeedbackResponse_Status.STATUS_ERROR_UNREFINED_PRIOR;
case 9:
case "STATUS_ERROR_SYSTEM":
return DockingCommandFeedbackResponse_Status.STATUS_ERROR_SYSTEM;
case -1:
case "UNRECOGNIZED":
default:
return DockingCommandFeedbackResponse_Status.UNRECOGNIZED;
}
}
export function dockingCommandFeedbackResponse_StatusToJSON(
object: DockingCommandFeedbackResponse_Status
): string {
switch (object) {
case DockingCommandFeedbackResponse_Status.STATUS_UNKNOWN:
return "STATUS_UNKNOWN";
case DockingCommandFeedbackResponse_Status.STATUS_IN_PROGRESS:
return "STATUS_IN_PROGRESS";
case DockingCommandFeedbackResponse_Status.STATUS_DOCKED:
return "STATUS_DOCKED";
case DockingCommandFeedbackResponse_Status.STATUS_AT_PREP_POSE:
return "STATUS_AT_PREP_POSE";
case DockingCommandFeedbackResponse_Status.STATUS_MISALIGNED:
return "STATUS_MISALIGNED";
case DockingCommandFeedbackResponse_Status.STATUS_OLD_DOCKING_COMMAND:
return "STATUS_OLD_DOCKING_COMMAND";
case DockingCommandFeedbackResponse_Status.STATUS_ERROR_DOCK_LOST:
return "STATUS_ERROR_DOCK_LOST";
case DockingCommandFeedbackResponse_Status.STATUS_ERROR_LEASE:
return "STATUS_ERROR_LEASE";
case DockingCommandFeedbackResponse_Status.STATUS_ERROR_COMMAND_TIMED_OUT:
return "STATUS_ERROR_COMMAND_TIMED_OUT";
case DockingCommandFeedbackResponse_Status.STATUS_ERROR_NO_TIMESYNC:
return "STATUS_ERROR_NO_TIMESYNC";
case DockingCommandFeedbackResponse_Status.STATUS_ERROR_TOO_DISTANT:
return "STATUS_ERROR_TOO_DISTANT";
case DockingCommandFeedbackResponse_Status.STATUS_ERROR_NOT_AVAILABLE:
return "STATUS_ERROR_NOT_AVAILABLE";
case DockingCommandFeedbackResponse_Status.STATUS_ERROR_UNREFINED_PRIOR:
return "STATUS_ERROR_UNREFINED_PRIOR";
case DockingCommandFeedbackResponse_Status.STATUS_ERROR_SYSTEM:
return "STATUS_ERROR_SYSTEM";
case DockingCommandFeedbackResponse_Status.UNRECOGNIZED:
default:
return "UNRECOGNIZED";
}
}
/** The configuration of a range of dock ID's */
export interface ConfigRange {
/** Starting ID */
idStart: number;
/** Ending ID */
idEnd: number;
/** Type of dock for this range */
type: DockType;
}
export interface GetDockingConfigRequest {
/** Common request header. */
header: RequestHeader | undefined;
}
export interface GetDockingConfigResponse {
/** Common response header. */
header: ResponseHeader | undefined;
/** A series of `ConfigRange` specifying details for dock ID numbers. */
dockConfigs: ConfigRange[];
}
/**
* Message describing the overall dock state of the robot, including power & comms connections. \
* Not tied to any particular DockingCommand ID. \
* Note: [*] indicates fields which are only valid if the status is DOCK_STATUS_DOCKED or DOCK_STATUS_DOCKING \
* or DOCK_STATUS_UNDOCKING. \
* Note: [^] indicates fields which are only valid if the status is DOCK_STATUS_DOCKED. \
*/
export interface DockState {
/** Status of if the robot is on dock */
status: DockState_DockedStatus;
/** [*] Type of the dock */
dockType: DockType;
/** [*] ID of the dock */
dockId: number;
/** [^] Status of power detection from the dock */
powerStatus: DockState_LinkStatus;
}
export enum DockState_DockedStatus {
/** DOCK_STATUS_UNKNOWN - Unknown */
DOCK_STATUS_UNKNOWN = 0,
/** DOCK_STATUS_DOCKED - Robot is detected as on a dock */
DOCK_STATUS_DOCKED = 1,
/** DOCK_STATUS_DOCKING - Robot is currently running a docking command */
DOCK_STATUS_DOCKING = 2,
/** DOCK_STATUS_UNDOCKED - Robot is not detected as on dock */
DOCK_STATUS_UNDOCKED = 3,
/** DOCK_STATUS_UNDOCKING - Robot is currently running an undocking command */
DOCK_STATUS_UNDOCKING = 4,
UNRECOGNIZED = -1,
}
export function dockState_DockedStatusFromJSON(
object: any
): DockState_DockedStatus {
switch (object) {
case 0:
case "DOCK_STATUS_UNKNOWN":
return DockState_DockedStatus.DOCK_STATUS_UNKNOWN;
case 1:
case "DOCK_STATUS_DOCKED":
return DockState_DockedStatus.DOCK_STATUS_DOCKED;
case 2:
case "DOCK_STATUS_DOCKING":
return DockState_DockedStatus.DOCK_STATUS_DOCKING;
case 3:
case "DOCK_STATUS_UNDOCKED":
return DockState_DockedStatus.DOCK_STATUS_UNDOCKED;
case 4:
case "DOCK_STATUS_UNDOCKING":
return DockState_DockedStatus.DOCK_STATUS_UNDOCKING;
case -1:
case "UNRECOGNIZED":
default:
return DockState_DockedStatus.UNRECOGNIZED;
}
}
export function dockState_DockedStatusToJSON(
object: DockState_DockedStatus
): string {
switch (object) {
case DockState_DockedStatus.DOCK_STATUS_UNKNOWN:
return "DOCK_STATUS_UNKNOWN";
case DockState_DockedStatus.DOCK_STATUS_DOCKED:
return "DOCK_STATUS_DOCKED";
case DockState_DockedStatus.DOCK_STATUS_DOCKING:
return "DOCK_STATUS_DOCKING";
case DockState_DockedStatus.DOCK_STATUS_UNDOCKED:
return "DOCK_STATUS_UNDOCKED";
case DockState_DockedStatus.DOCK_STATUS_UNDOCKING:
return "DOCK_STATUS_UNDOCKING";
case DockState_DockedStatus.UNRECOGNIZED:
default:
return "UNRECOGNIZED";
}
}
export enum DockState_LinkStatus {
/** LINK_STATUS_UNKNOWN - Unknown or Not applicable */
LINK_STATUS_UNKNOWN = 0,
/** LINK_STATUS_DETECTING - The link status is being detected */
LINK_STATUS_DETECTING = 3,
/** LINK_STATUS_CONNECTED - The link is detected as connected */
LINK_STATUS_CONNECTED = 1,
/** LINK_STATUS_ERROR - The link could not be detected */
LINK_STATUS_ERROR = 2,
UNRECOGNIZED = -1,
}
export function dockState_LinkStatusFromJSON(
object: any
): DockState_LinkStatus {
switch (object) {
case 0:
case "LINK_STATUS_UNKNOWN":
return DockState_LinkStatus.LINK_STATUS_UNKNOWN;
case 3:
case "LINK_STATUS_DETECTING":
return DockState_LinkStatus.LINK_STATUS_DETECTING;
case 1:
case "LINK_STATUS_CONNECTED":
return DockState_LinkStatus.LINK_STATUS_CONNECTED;
case 2:
case "LINK_STATUS_ERROR":
return DockState_LinkStatus.LINK_STATUS_ERROR;
case -1:
case "UNRECOGNIZED":
default:
return DockState_LinkStatus.UNRECOGNIZED;
}
}
export function dockState_LinkStatusToJSON(
object: DockState_LinkStatus
): string {
switch (object) {
case DockState_LinkStatus.LINK_STATUS_UNKNOWN:
return "LINK_STATUS_UNKNOWN";
case DockState_LinkStatus.LINK_STATUS_DETECTING:
return "LINK_STATUS_DETECTING";
case DockState_LinkStatus.LINK_STATUS_CONNECTED:
return "LINK_STATUS_CONNECTED";
case DockState_LinkStatus.LINK_STATUS_ERROR:
return "LINK_STATUS_ERROR";
case DockState_LinkStatus.UNRECOGNIZED:
default:
return "UNRECOGNIZED";
}
}
/** Message to get the overall docking state */
export interface GetDockingStateRequest {
/** Common request header. */
header: RequestHeader | undefined;
}
/** Response of a GetDockingStateRequest */
export interface GetDockingStateResponse {
/** Common response header. */
header: ResponseHeader | undefined;
dockState: DockState | undefined;
}
function createBaseDockingCommandRequest(): DockingCommandRequest {
return {
header: undefined,
lease: undefined,
dockingStationId: 0,
clockIdentifier: "",
endTime: undefined,
prepPoseBehavior: 0,
};
}
export const DockingCommandRequest = {
encode(
message: DockingCommandRequest,
writer: _m0.Writer = _m0.Writer.create()
): _m0.Writer {
if (message.header !== undefined) {
RequestHeader.encode(message.header, writer.uint32(10).fork()).ldelim();
}
if (message.lease !== undefined) {
Lease.encode(message.lease, writer.uint32(18).fork()).ldelim();
}
if (message.dockingStationId !== 0) {
writer.uint32(24).uint32(message.dockingStationId);
}
if (message.clockIdentifier !== "") {
writer.uint32(34).string(message.clockIdentifier);
}
if (message.endTime !== undefined) {
Timestamp.encode(
toTimestamp(message.endTime),
writer.uint32(42).fork()
).ldelim();
}
if (message.prepPoseBehavior !== 0) {
writer.uint32(72).int32(message.prepPoseBehavior);
}
return writer;
},
decode(
input: _m0.Reader | Uint8Array,
length?: number
): DockingCommandRequest {
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = createBaseDockingCommandRequest();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.header = RequestHeader.decode(reader, reader.uint32());
break;
case 2:
message.lease = Lease.decode(reader, reader.uint32());
break;
case 3:
message.dockingStationId = reader.uint32();
break;
case 4:
message.clockIdentifier = reader.string();
break;
case 5:
message.endTime = fromTimestamp(
Timestamp.decode(reader, reader.uint32())
);
break;
case 9:
message.prepPoseBehavior = reader.int32() as any;
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
},
fromJSON(object: any): DockingCommandRequest {
return {
header: isSet(object.header)
? RequestHeader.fromJSON(object.header)
: undefined,
lease: isSet(object.lease) ? Lease.fromJSON(object.lease) : undefined,
dockingStationId: isSet(object.dockingStationId)
? Number(object.dockingStationId)
: 0,
clockIdentifier: isSet(object.clockIdentifier)
? String(object.clockIdentifier)
: "",
endTime: isSet(object.endTime)
? fromJsonTimestamp(object.endTime)
: undefined,
prepPoseBehavior: isSet(object.prepPoseBehavior)
? prepPoseBehaviorFromJSON(object.prepPoseBehavior)
: 0,
};
},
toJSON(message: DockingCommandRequest): unknown {
const obj: any = {};
message.header !== undefined &&
(obj.header = message.header
? RequestHeader.toJSON(message.header)
: undefined);
message.lease !== undefined &&
(obj.lease = message.lease ? Lease.toJSON(message.lease) : undefined);
message.dockingStationId !== undefined &&
(obj.dockingStationId = Math.round(message.dockingStationId));
message.clockIdentifier !== undefined &&
(obj.clockIdentifier = message.clockIdentifier);
message.endTime !== undefined &&
(obj.endTime = message.endTime.toISOString());
message.prepPoseBehavior !== undefined &&
(obj.prepPoseBehavior = prepPoseBehaviorToJSON(message.prepPoseBehavior));
return obj;
},
fromPartial<I extends Exact<DeepPartial<DockingCommandRequest>, I>>(
object: I
): DockingCommandRequest {
const message = createBaseDockingCommandRequest();
message.header =
object.header !== undefined && object.header !== null
? RequestHeader.fromPartial(object.header)
: undefined;
message.lease =
object.lease !== undefined && object.lease !== null
? Lease.fromPartial(object.lease)
: undefined;
message.dockingStationId = object.dockingStationId ?? 0;
message.clockIdentifier = object.clockIdentifier ?? "";
message.endTime = object.endTime ?? undefined;
message.prepPoseBehavior = object.prepPoseBehavior ?? 0;
return message;
},
};
function createBaseDockingCommandResponse(): DockingCommandResponse {
return {
header: undefined,
leaseUseResult: undefined,
status: 0,
dockingCommandId: 0,
};
}
export const DockingCommandResponse = {
encode(
message: DockingCommandResponse,
writer: _m0.Writer = _m0.Writer.create()
): _m0.Writer {
if (message.header !== undefined) {
ResponseHeader.encode(message.header, writer.uint32(10).fork()).ldelim();
}
if (message.leaseUseResult !== undefined) {
LeaseUseResult.encode(
message.leaseUseResult,
writer.uint32(18).fork()
).ldelim();
}
if (message.status !== 0) {
writer.uint32(24).int32(message.status);
}
if (message.dockingCommandId !== 0) {
writer.uint32(40).uint32(message.dockingCommandId);
}
return writer;
},
decode(
input: _m0.Reader | Uint8Array,
length?: number
): DockingCommandResponse {
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = createBaseDockingCommandResponse();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.header = ResponseHeader.decode(reader, reader.uint32());
break;
case 2:
message.leaseUseResult = LeaseUseResult.decode(
reader,
reader.uint32()
);
break;
case 3:
message.status = reader.int32() as any;
break;
case 5:
message.dockingCommandId = reader.uint32();
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
},
fromJSON(object: any): DockingCommandResponse {
return {
header: isSet(object.header)
? ResponseHeader.fromJSON(object.header)
: undefined,
leaseUseResult: isSet(object.leaseUseResult)
? LeaseUseResult.fromJSON(object.leaseUseResult)
: undefined,
status: isSet(object.status)
? dockingCommandResponse_StatusFromJSON(object.status)
: 0,
dockingCommandId: isSet(object.dockingCommandId)
? Number(object.dockingCommandId)
: 0,
};
},
toJSON(message: DockingCommandResponse): unknown {
const obj: any = {};
message.header !== undefined &&
(obj.header = message.header
? ResponseHeader.toJSON(message.header)
: undefined);
message.leaseUseResult !== undefined &&
(obj.leaseUseResult = message.leaseUseResult
? LeaseUseResult.toJSON(message.leaseUseResult)
: undefined);
message.status !== undefined &&
(obj.status = dockingCommandResponse_StatusToJSON(message.status));
message.dockingCommandId !== undefined &&
(obj.dockingCommandId = Math.round(message.dockingCommandId));
return obj;
},
fromPartial<I extends Exact<DeepPartial<DockingCommandResponse>, I>>(
object: I
): DockingCommandResponse {
const message = createBaseDockingCommandResponse();
message.header =
object.header !== undefined && object.header !== null
? ResponseHeader.fromPartial(object.header)
: undefined;
message.leaseUseResult =
object.leaseUseResult !== undefined && object.leaseUseResult !== null
? LeaseUseResult.fromPartial(object.leaseUseResult)
: undefined;
message.status = object.status ?? 0;
message.dockingCommandId = object.dockingCommandId ?? 0;
return message;
},
};
function createBaseDockingCommandFeedbackRequest(): DockingCommandFeedbackRequest {
return { header: undefined, dockingCommandId: 0 };
}
export const DockingCommandFeedbackRequest = {
encode(
message: DockingCommandFeedbackRequest,
writer: _m0.Writer = _m0.Writer.create()
): _m0.Writer {
if (message.header !== undefined) {
RequestHeader.encode(message.header, writer.uint32(10).fork()).ldelim();
}
if (message.dockingCommandId !== 0) {
writer.uint32(16).uint32(message.dockingCommandId);
}
return writer;
},
decode(
input: _m0.Reader | Uint8Array,
length?: number
): DockingCommandFeedbackRequest {
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = createBaseDockingCommandFeedbackRequest();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.header = RequestHeader.decode(reader, reader.uint32());
break;
case 2:
message.dockingCommandId = reader.uint32();
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
},
fromJSON(object: any): DockingCommandFeedbackRequest {
return {
header: isSet(object.header)
? RequestHeader.fromJSON(object.header)
: undefined,
dockingCommandId: isSet(object.dockingCommandId)
? Number(object.dockingCommandId)
: 0,
};
},
toJSON(message: DockingCommandFeedbackRequest): unknown {
const obj: any = {};
message.header !== undefined &&
(obj.header = message.header
? RequestHeader.toJSON(message.header)
: undefined);
message.dockingCommandId !== undefined &&
(obj.dockingCommandId = Math.round(message.dockingCommandId));
return obj;
},
fromPartial<I extends Exact<DeepPartial<DockingCommandFeedbackRequest>, I>>(
object: I
): DockingCommandFeedbackRequest {
const message = createBaseDockingCommandFeedbackRequest();
message.header =
object.header !== undefined && object.header !== null
? RequestHeader.fromPartial(object.header)
: undefined;
message.dockingCommandId = object.dockingCommandId ?? 0;
return message;
},
};
function createBaseDockingCommandFeedbackResponse(): DockingCommandFeedbackResponse {
return { header: undefined, leaseUseResult: undefined, status: 0 };
}
export const DockingCommandFeedbackResponse = {
encode(
message: DockingCommandFeedbackResponse,
writer: _m0.Writer = _m0.Writer.create()
): _m0.Writer {
if (message.header !== undefined) {
ResponseHeader.encode(message.header, writer.uint32(10).fork()).ldelim();
}
if (message.leaseUseResult !== undefined) {
LeaseUseResult.encode(
message.leaseUseResult,
writer.uint32(18).fork()
).ldelim();
}
if (message.status !== 0) {
writer.uint32(24).int32(message.status);
}
return writer;
},
decode(
input: _m0.Reader | Uint8Array,
length?: number
): DockingCommandFeedbackResponse {
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = createBaseDockingCommandFeedbackResponse();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.header = ResponseHeader.decode(reader, reader.uint32());
break;
case 2:
message.leaseUseResult = LeaseUseResult.decode(
reader,
reader.uint32()
);
break;
case 3:
message.status = reader.int32() as any;
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
},
fromJSON(object: any): DockingCommandFeedbackResponse {
return {
header: isSet(object.header)
? ResponseHeader.fromJSON(object.header)
: undefined,
leaseUseResult: isSet(object.leaseUseResult)
? LeaseUseResult.fromJSON(object.leaseUseResult)
: undefined,
status: isSet(object.status)
? dockingCommandFeedbackResponse_StatusFromJSON(object.status)
: 0,
};
},
toJSON(message: DockingCommandFeedbackResponse): unknown {
const obj: any = {};
message.header !== undefined &&
(obj.header = message.header
? ResponseHeader.toJSON(message.header)
: undefined);
message.leaseUseResult !== undefined &&
(obj.leaseUseResult = message.leaseUseResult
? LeaseUseResult.toJSON(message.leaseUseResult)
: undefined);
message.status !== undefined &&
(obj.status = dockingCommandFeedbackResponse_StatusToJSON(
message.status
));
return obj;
},
fromPartial<I extends Exact<DeepPartial<DockingCommandFeedbackResponse>, I>>(
object: I
): DockingCommandFeedbackResponse {
const message = createBaseDockingCommandFeedbackResponse();
message.header =
object.header !== undefined && object.header !== null
? ResponseHeader.fromPartial(object.header)
: undefined;
message.leaseUseResult =
object.leaseUseResult !== undefined && object.leaseUseResult !== null
? LeaseUseResult.fromPartial(object.leaseUseResult)
: undefined;
message.status = object.status ?? 0;
return message;
},
};
function createBaseConfigRange(): ConfigRange {
return { idStart: 0, idEnd: 0, type: 0 };
}
export const ConfigRange = {
encode(
message: ConfigRange,
writer: _m0.Writer = _m0.Writer.create()
): _m0.Writer {
if (message.idStart !== 0) {
writer.uint32(8).uint32(message.idStart);
}
if (message.idEnd !== 0) {
writer.uint32(16).uint32(message.idEnd);
}
if (message.type !== 0) {
writer.uint32(24).int32(message.type);
}
return writer;
},
decode(input: _m0.Reader | Uint8Array, length?: number): ConfigRange {
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = createBaseConfigRange();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.idStart = reader.uint32();
break;
case 2:
message.idEnd = reader.uint32();
break;
case 3:
message.type = reader.int32() as any;
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
},
fromJSON(object: any): ConfigRange {
return {
idStart: isSet(object.idStart) ? Number(object.idStart) : 0,
idEnd: isSet(object.idEnd) ? Number(object.idEnd) : 0,
type: isSet(object.type) ? dockTypeFromJSON(object.type) : 0,
};
},
toJSON(message: ConfigRange): unknown {
const obj: any = {};
message.idStart !== undefined &&
(obj.idStart = Math.round(message.idStart));
message.idEnd !== undefined && (obj.idEnd = Math.round(message.idEnd));
message.type !== undefined && (obj.type = dockTypeToJSON(message.type));
return obj;
},
fromPartial<I extends Exact<DeepPartial<ConfigRange>, I>>(
object: I
): ConfigRange {
const message = createBaseConfigRange();
message.idStart = object.idStart ?? 0;
message.idEnd = object.idEnd ?? 0;
message.type = object.type ?? 0;
return message;
},
};
function createBaseGetDockingConfigRequest(): GetDockingConfigRequest {
return { header: undefined };
}
export const GetDockingConfigRequest = {
encode(
message: GetDockingConfigRequest,
writer: _m0.Writer = _m0.Writer.create()
): _m0.Writer {
if (message.header !== undefined) {
RequestHeader.encode(message.header, writer.uint32(10).fork()).ldelim();
}
return writer;
},
decode(
input: _m0.Reader | Uint8Array,
length?: number
): GetDockingConfigRequest {
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = createBaseGetDockingConfigRequest();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.header = RequestHeader.decode(reader, reader.uint32());
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
},
fromJSON(object: any): GetDockingConfigRequest {
return {
header: isSet(object.header)
? RequestHeader.fromJSON(object.header)
: undefined,
};
},
toJSON(message: GetDockingConfigRequest): unknown {
const obj: any = {};
message.header !== undefined &&
(obj.header = message.header
? RequestHeader.toJSON(message.header)
: undefined);
return obj;
},
fromPartial<I extends Exact<DeepPartial<GetDockingConfigRequest>, I>>(
object: I
): GetDockingConfigRequest {
const message = createBaseGetDockingConfigRequest();
message.header =
object.header !== undefined && object.header !== null
? RequestHeader.fromPartial(object.header)
: undefined;
return message;
},
};
function createBaseGetDockingConfigResponse(): GetDockingConfigResponse {
return { header: undefined, dockConfigs: [] };
}
export const GetDockingConfigResponse = {
encode(
message: GetDockingConfigResponse,
writer: _m0.Writer = _m0.Writer.create()
): _m0.Writer {
if (message.header !== undefined) {
ResponseHeader.encode(message.header, writer.uint32(10).fork()).ldelim();
}
for (const v of message.dockConfigs) {
ConfigRange.encode(v!, writer.uint32(18).fork()).ldelim();
}
return writer;
},
decode(
input: _m0.Reader | Uint8Array,
length?: number
): GetDockingConfigResponse {
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = createBaseGetDockingConfigResponse();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.header = ResponseHeader.decode(reader, reader.uint32());
break;
case 2:
message.dockConfigs.push(ConfigRange.decode(reader, reader.uint32()));
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
},
fromJSON(object: any): GetDockingConfigResponse {
return {
header: isSet(object.header)
? ResponseHeader.fromJSON(object.header)
: undefined,
dockConfigs: Array.isArray(object?.dockConfigs)
? object.dockConfigs.map((e: any) => ConfigRange.fromJSON(e))
: [],
};
},
toJSON(message: GetDockingConfigResponse): unknown {
const obj: any = {};
message.header !== undefined &&
(obj.header = message.header
? ResponseHeader.toJSON(message.header)
: undefined);
if (message.dockConfigs) {
obj.dockConfigs = message.dockConfigs.map((e) =>
e ? ConfigRange.toJSON(e) : undefined
);
} else {
obj.dockConfigs = [];
}
return obj;
},
fromPartial<I extends Exact<DeepPartial<GetDockingConfigResponse>, I>>(
object: I
): GetDockingConfigResponse {
const message = createBaseGetDockingConfigResponse();
message.header =
object.header !== undefined && object.header !== null
? ResponseHeader.fromPartial(object.header)
: undefined;
message.dockConfigs =
object.dockConfigs?.map((e) => ConfigRange.fromPartial(e)) || [];
return message;
},
};
function createBaseDockState(): DockState {
return { status: 0, dockType: 0, dockId: 0, powerStatus: 0 };
}
export const DockState = {
encode(
message: DockState,
writer: _m0.Writer = _m0.Writer.create()
): _m0.Writer {
if (message.status !== 0) {
writer.uint32(8).int32(message.status);
}
if (message.dockType !== 0) {
writer.uint32(16).int32(message.dockType);
}
if (message.dockId !== 0) {
writer.uint32(24).uint32(message.dockId);
}
if (message.powerStatus !== 0) {
writer.uint32(32).int32(message.powerStatus);
}
return writer;
},
decode(input: _m0.Reader | Uint8Array, length?: number): DockState {
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = createBaseDockState();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.status = reader.int32() as any;
break;
case 2:
message.dockType = reader.int32() as any;
break;
case 3:
message.dockId = reader.uint32();
break;
case 4:
message.powerStatus = reader.int32() as any;
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
},
fromJSON(object: any): DockState {
return {
status: isSet(object.status)
? dockState_DockedStatusFromJSON(object.status)
: 0,
dockType: isSet(object.dockType) ? dockTypeFromJSON(object.dockType) : 0,
dockId: isSet(object.dockId) ? Number(object.dockId) : 0,
powerStatus: isSet(object.powerStatus)
? dockState_LinkStatusFromJSON(object.powerStatus)
: 0,
};
},
toJSON(message: DockState): unknown {
const obj: any = {};
message.status !== undefined &&
(obj.status = dockState_DockedStatusToJSON(message.status));
message.dockType !== undefined &&
(obj.dockType = dockTypeToJSON(message.dockType));
message.dockId !== undefined && (obj.dockId = Math.round(message.dockId));
message.powerStatus !== undefined &&
(obj.powerStatus = dockState_LinkStatusToJSON(message.powerStatus));
return obj;
},
fromPartial<I extends Exact<DeepPartial<DockState>, I>>(
object: I
): DockState {
const message = createBaseDockState();
message.status = object.status ?? 0;
message.dockType = object.dockType ?? 0;
message.dockId = object.dockId ?? 0;
message.powerStatus = object.powerStatus ?? 0;
return message;
},
};
function createBaseGetDockingStateRequest(): GetDockingStateRequest {
return { header: undefined };
}
export const GetDockingStateRequest = {
encode(
message: GetDockingStateRequest,
writer: _m0.Writer = _m0.Writer.create()
): _m0.Writer {
if (message.header !== undefined) {
RequestHeader.encode(message.header, writer.uint32(10).fork()).ldelim();
}
return writer;
},
decode(
input: _m0.Reader | Uint8Array,
length?: number
): GetDockingStateRequest {
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = createBaseGetDockingStateRequest();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.header = RequestHeader.decode(reader, reader.uint32());
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
},
fromJSON(object: any): GetDockingStateRequest {
return {
header: isSet(object.header)
? RequestHeader.fromJSON(object.header)
: undefined,
};
},
toJSON(message: GetDockingStateRequest): unknown {
const obj: any = {};
message.header !== undefined &&
(obj.header = message.header
? RequestHeader.toJSON(message.header)
: undefined);
return obj;
},
fromPartial<I extends Exact<DeepPartial<GetDockingStateRequest>, I>>(
object: I
): GetDockingStateRequest {
const message = createBaseGetDockingStateRequest();
message.header =
object.header !== undefined && object.header !== null
? RequestHeader.fromPartial(object.header)
: undefined;
return message;
},
};
function createBaseGetDockingStateResponse(): GetDockingStateResponse {
return { header: undefined, dockState: undefined };
}
export const GetDockingStateResponse = {
encode(
message: GetDockingStateResponse,
writer: _m0.Writer = _m0.Writer.create()
): _m0.Writer {
if (message.header !== undefined) {
ResponseHeader.encode(message.header, writer.uint32(10).fork()).ldelim();
}
if (message.dockState !== undefined) {
DockState.encode(message.dockState, writer.uint32(18).fork()).ldelim();
}
return writer;
},
decode(
input: _m0.Reader | Uint8Array,
length?: number
): GetDockingStateResponse {
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = createBaseGetDockingStateResponse();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.header = ResponseHeader.decode(reader, reader.uint32());
break;
case 2:
message.dockState = DockState.decode(reader, reader.uint32());
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
},
fromJSON(object: any): GetDockingStateResponse {
return {
header: isSet(object.header)
? ResponseHeader.fromJSON(object.header)
: undefined,
dockState: isSet(object.dockState)
? DockState.fromJSON(object.dockState)
: undefined,
};
},
toJSON(message: GetDockingStateResponse): unknown {
const obj: any = {};
message.header !== undefined &&
(obj.header = message.header
? ResponseHeader.toJSON(message.header)
: undefined);
message.dockState !== undefined &&
(obj.dockState = message.dockState
? DockState.toJSON(message.dockState)
: undefined);
return obj;
},
fromPartial<I extends Exact<DeepPartial<GetDockingStateResponse>, I>>(
object: I
): GetDockingStateResponse {
const message = createBaseGetDockingStateResponse();
message.header =
object.header !== undefined && object.header !== null
? ResponseHeader.fromPartial(object.header)
: undefined;
message.dockState =
object.dockState !== undefined && object.dockState !== null
? DockState.fromPartial(object.dockState)
: undefined;
return message;
},
};
type Builtin =
| Date
| Function
| Uint8Array
| string
| number
| boolean
| undefined;
export type DeepPartial<T> = T extends Builtin
? T
: T extends Array<infer U>
? Array<DeepPartial<U>>
: T extends ReadonlyArray<infer U>
? ReadonlyArray<DeepPartial<U>>
: T extends {}
? { [K in keyof T]?: DeepPartial<T[K]> }
: Partial<T>;
type KeysOfUnion<T> = T extends T ? keyof T : never;
export type Exact<P, I extends P> = P extends Builtin
? P
: P & { [K in keyof P]: Exact<P[K], I[K]> } & {
[K in Exclude<keyof I, KeysOfUnion<P>>]: never;
};
function toTimestamp(date: Date): Timestamp {
const seconds = date.getTime() / 1_000;
const nanos = (date.getTime() % 1_000) * 1_000_000;
return { seconds, nanos };
}
function fromTimestamp(t: Timestamp): Date {
let millis = t.seconds * 1_000;
millis += t.nanos / 1_000_000;
return new Date(millis);
}
function fromJsonTimestamp(o: any): Date {
if (o instanceof Date) {
return o;
} else if (typeof o === "string") {
return new Date(o);
} else {
return fromTimestamp(Timestamp.fromJSON(o));
}
}
function isSet(value: any): boolean {
return value !== null && value !== undefined;
}