Skip to content

Myogestic.Remote.ControlCapability

VHI_godot

Myogestic.Remote

ControlCapability Class

One control this target exports, addressed by a stable dotted name.

The address is **owned by the target**. A client maps its own arbitrary model-output name onto one of these; it does not invent addresses and it does not hard-code their semantics. Everything a client needs in order to send values correctly is declared right here, by the side that carries them out:

- whether it is a number or a held state, and - for a number: its domain and its neutral value, and - for a state: the states it accepts and which one is neutral.

That is the whole point of shipping a manifest rather than a naming convention. A convention has to be kept in sync by hand on both sides; a manifest is read.

public sealed class ControlCapability : Google.Protobuf.IMessage<Myogestic.Remote.ControlCapability>, Google.Protobuf.IMessage, System.IEquatable<Myogestic.Remote.ControlCapability>, Google.Protobuf.IDeepCloneable<Myogestic.Remote.ControlCapability>, Google.Protobuf.IBufferMessage

Inheritance System.Object → ControlCapability

Implements Google.Protobuf.IMessage<ControlCapability>, Google.Protobuf.IMessage, System.IEquatable<ControlCapability>, Google.Protobuf.IDeepCloneable<ControlCapability>, Google.Protobuf.IBufferMessage

Properties

ControlCapability.ActivationThreshold Property

DISCRETE only: the activation level at which a client should select the non-rest state, when its model emits a probability rather than a state name. 0 means the target has no opinion and the client's own default applies.

Declared here because the target knows what its states cost: a prosthesis that takes a second to close wants a higher bar than a cursor click.

public float ActivationThreshold { get; set; }

Property Value

System.Single

ControlCapability.Address Property

Stable dotted address, e.g. "vhi.prediction.index". Namespaced by target so addresses from different targets cannot collide in one client configuration.

public string Address { get; set; }

Property Value

System.String

ControlCapability.Description Property

Human-readable: what moves, and any target-local behaviour worth knowing. For a log or a UI — clients must not parse it.

public string Description { get; set; }

Property Value

System.String

ControlCapability.Hi Property

public float Hi { get; set; }

Property Value

System.Single

ControlCapability.Kind Property

Whether this control takes a number or a held state.

public Myogestic.Remote.Kind Kind { get; set; }

Property Value

Kind

ControlCapability.Lo Property

CONTINUOUS only: the domain and the value meaning "no command".

public float Lo { get; set; }

Property Value

System.Single

ControlCapability.Rest Property

public float Rest { get; set; }

Property Value

System.Single

ControlCapability.RestState Property

public string RestState { get; set; }

Property Value

System.String

ControlCapability.States Property

DISCRETE only: the states this control accepts, and the neutral one.

public Google.Protobuf.Collections.RepeatedField<string> States { get; }

Property Value

Google.Protobuf.Collections.RepeatedField<System.String>