Table of Contents

Struct ControlPolicy

Namespace
Pamoja.Profile
Assembly
Pamoja.Profile.dll

A profile's control policy.

public readonly record struct ControlPolicy : IEquatable<ControlPolicy>
Implements
Inherited Members

Remarks

Only the values belonging to Kind are set.

Constructors

ControlPolicy(ControlKind, float?, float?, bool?, float?, float?, uint?, bool?, float?, string?, IReadOnlyDictionary<string, object>?)

A profile's control policy.

public ControlPolicy(ControlKind Kind, float? Setpoint = null, float? Hysteresis = null, bool? Cooling = null, float? SafeBand = null, float? Empty = null, uint? WarnWithin = null, bool? Rising = null, float? Limit = null, string? CustomKind = null, IReadOnlyDictionary<string, object>? Params = null)

Parameters

Kind ControlKind

Which policy this describes.

Setpoint float?

The target reading, for a setpoint policy.

Hysteresis float?

Half the deadband width, for a setpoint policy.

Cooling bool?

Whether the output cools rather than heats.

SafeBand float?

How far the reading may stray before an alert.

Empty float?

The level treated as empty, for a level policy.

WarnWithin uint?

How many samples ahead to warn, for a level policy.

Rising bool?

Whether a rise rather than a fall is watched.

Limit float?

The largest safe change per sample, for a surge policy.

CustomKind string

The kind as the manifest names it, for a custom policy.

Params IReadOnlyDictionary<string, object>

Every field the manifest carried beside a custom kind, each a double, a bool, or a string.

Remarks

Only the values belonging to Kind are set.

Properties

Cooling

Whether the output cools rather than heats.

public bool? Cooling { get; init; }

Property Value

bool?

CustomKind

The kind as the manifest names it, for a custom policy.

public string? CustomKind { get; init; }

Property Value

string

Empty

The level treated as empty, for a level policy.

public float? Empty { get; init; }

Property Value

float?

Hysteresis

Half the deadband width, for a setpoint policy.

public float? Hysteresis { get; init; }

Property Value

float?

Kind

Which policy this describes.

public ControlKind Kind { get; init; }

Property Value

ControlKind

Limit

The largest safe change per sample, for a surge policy.

public float? Limit { get; init; }

Property Value

float?

Params

Every field the manifest carried beside a custom kind, each a double, a bool, or a string.

public IReadOnlyDictionary<string, object>? Params { get; init; }

Property Value

IReadOnlyDictionary<string, object>

Rising

Whether a rise rather than a fall is watched.

public bool? Rising { get; init; }

Property Value

bool?

SafeBand

How far the reading may stray before an alert.

public float? SafeBand { get; init; }

Property Value

float?

Setpoint

The target reading, for a setpoint policy.

public float? Setpoint { get; init; }

Property Value

float?

WarnWithin

How many samples ahead to warn, for a level policy.

public uint? WarnWithin { get; init; }

Property Value

uint?