# logic::DemuxI2B4

    sys::Obj
      sys::Virtual
        sys::Component
          logic::DemuxI2B4

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

Demuxes an integer count input into 4 boolean outputs. By setting "startsAt" appropriately, N objects can demux to N*4 outputs (ie, you can create a 4x, 8x, 16x, etc demux) if in == startsAt + 0, out1 is true, else false if in == startsAt + 1, out2 is true, else false if in == startsAt + 2, out3 is true, else false if in == startsAt + 3, out4 is true, else false

in

  `public property int in`

  input

out1

  `public property bool out1 [readonly]`

  if in == startsAt + 0, out1 is true, else false

out2

  `public property bool out2 [readonly]`

  if in == startsAt + 1, out2 is true, else false

out3

  `public property bool out3 [readonly]`

  if in == startsAt + 2, out3 is true, else false

out4

  `public property bool out4 [readonly]`

  if in == startsAt + 3, out4 is true, else false

startsAt

  `public property int startsAt [config]`

  starting value for in

execute

  `public virtual override void execute()`

  Execute is called once every scan.