# control::LSeq

    sys::Obj
      sys::Virtual
        sys::Component
          control::LSeq

`public class LSeq` `[niagaraIcon="module://icons/x16/control/util/step.png"]`

LSeq will provide a linear sequence of 1 to 16 loads.

Analogous to a bar graph of the input value, where the delta represented by each output is (inMax-inMin)/(numOuts + 1). So given an input value, outputs 1 through n will be set true, and any remaining outputs will be false.

If 'in' > 'inMax', then 'numOuts' outputs will be set true, and 'ovfl' will be set true The range of 'inMin' to 'inMax' is divided into 'numOuts+1' threshold values (delta), where:

       'out1' is driven true if in > inMin + 1*delta,
       'out1' and 'out2' are driven true if in > inMin + 2*delta,
       'out1','out2', and 'out3' are driven true if in > inMin + 3*delta,
       etc
       delta = inMax-inMin/(numOuts + 1)

A hysteresis of 1/2 delta is required to turn an output off.

dOn

  `public property byte dOn [readonly]`

  Number of outputs turned on

delta

  `public property float delta [readonly]`

  Size of each output's range delta = (inMax-inMin)/(numOuts+1)

in

  `public property float in`

  input will be divided into 'numOuts' sub ranges over the range inMin to inMax

inMax

  `public property float inMax [config]`

  Expected input maximum

inMin

  `public property float inMin [config]`

  Expected input minimum

invalidConfig

  `public bool invalidConfig`

max

  `public float max`

min

  `public float min`

numOuts

  `public property int numOuts [min=1, config, max=16]`

  The range of 'inMin' to 'inMax' is divided into 'numOuts' threshold values, where:

         delta = (inMax-inMin)/(numOuts + 1)
         'out1' is driven true if in > inMin + 1*delta,
         'out1' and 'out2' are driven true if in > inMin + 2*delta,
         'out1','out2', and 'out3' are driven true if in > inMin + 3*delta,
         etc

out1

  `public property bool out1 [readonly]`

  output 1

out10

  `public property bool out10 [readonly]`

  output 10

out11

  `public property bool out11 [readonly]`

  output 11

out12

  `public property bool out12 [readonly]`

  output 12

out13

  `public property bool out13 [readonly]`

  output 13

out14

  `public property bool out14 [readonly]`

  output 14

out15

  `public property bool out15 [readonly]`

  output 15

out16

  `public property bool out16 [readonly]`

  output 16

out2

  `public property bool out2 [readonly]`

  output 2

out3

  `public property bool out3 [readonly]`

  output 3

out4

  `public property bool out4 [readonly]`

  output 4

out5

  `public property bool out5 [readonly]`

  output 5

out6

  `public property bool out6 [readonly]`

  output 6

out7

  `public property bool out7 [readonly]`

  output 7

out8

  `public property bool out8 [readonly]`

  output 8

out9

  `public property bool out9 [readonly]`

  output 9

ovfl

  `public property bool ovfl [readonly]`

  Overflow is set when in > inMax

changed

  `public override void changed(Slot slot)`

  Behavior to execute when a property is changed externally Update the delta value

execute

  `public virtual override void execute()`

  Execute is called once every scan.

start

  `public virtual override void start()`

  Callback when component is first started in an app.