TRUE FALSE SquareBooleanSource SquareBooleanSource Icon

Sources.SquareBooleanSource

Usage

PrimitiveComponents.Sources.SquareBooleanSource(frequency=1.0, amplitude=1.0, offset=0.5, start_time=0.0)

Parameters:

NameDescriptionUnitsDefault value
frequency1
amplitude1
offset0.5
start_time0

Connectors

  • y - This connector represents a boolean signal as an output from a component (BooleanOutput)

Behavior

\[ \begin{align} y\left( t \right) &= ifelse\left( t < \mathtt{start\_time}, false, ifelse\left( rem\left( - \mathtt{start\_time} + t, \frac{1}{\mathtt{frequency}} \right) < \frac{\mathtt{amplitude}}{\mathtt{frequency}}, true, false \right) \right) \end{align} \]

Source

component SquareBooleanSource
  y = Dyad.BooleanOutput() {
    "Dyad": {
      "placement": {
        "diagram": {"iconName": "default", "x1": 900, "y1": 450, "x2": 1000, "y2": 550, "rot": 0}
      },
      "tags": []
    }
  }
  parameter frequency::Real = 1.0
  parameter amplitude::Real = 1.0
  parameter offset::Real = 0.5
  parameter start_time::Real = 0.0
relations
  y = ifelse(time < start_time, false, ifelse((time - start_time) % (1.0 / frequency) < amplitude / frequency, true, false))
metadata {
  "Dyad": {"icons": {"default": "dyad://PrimitiveComponents/SquareBooleanSource.svg"}}
}
end
Flattened Source
component SquareBooleanSource
  y = Dyad.BooleanOutput() {
    "Dyad": {
      "placement": {
        "diagram": {"iconName": "default", "x1": 900, "y1": 450, "x2": 1000, "y2": 550, "rot": 0}
      },
      "tags": []
    }
  }
  parameter frequency::Real = 1.0
  parameter amplitude::Real = 1.0
  parameter offset::Real = 0.5
  parameter start_time::Real = 0.0
relations
  y = ifelse(time < start_time, false, ifelse((time - start_time) % (1.0 / frequency) < amplitude / frequency, true, false))
metadata {
  "Dyad": {"icons": {"default": "dyad://PrimitiveComponents/SquareBooleanSource.svg"}}
}
end


Test Cases

No test cases defined.