# Pulse gate
Przepuszcza lub blokuje sygnał impulsowy w zależności od stanu wejścia zezwalającego. Impuls jest przekazywany na wyjście tylko gdy bramka jest aktywna.
Pulse gate
I
E
O
# Wejścia
| ID | Skrót | Nazwa | Typ | Domyślnie | Opis |
|---|---|---|---|---|---|
input | I | Wejście | BOOLEAN | false | Sygnał impulsowy. Zbocze narastające wyzwala sprawdzenie stanu wejścia zezwalającego w celu podjęcia decyzji o przekazaniu impulsu. |
enable | E | Zezwolenie | BOOLEAN | true | Wejście stanowe sprawdzane w momencie nadejścia impulsu. Gdy aktywne, impulsy są przepuszczane. Gdy nieaktywne, impulsy są blokowane. Zmiana tego wejścia nie wyzwala wyjścia. |
# Wyjścia
| ID | Skrót | Nazwa | Typ | Domyślnie | Opis |
|---|---|---|---|---|---|
output | O | Wyjście | BOOLEAN | false | Przekazany impuls. Odzwierciedla impuls wejściowy, gdy bramka jest aktywna. |
# Stan
| ID | Nazwa | Typ | Domyślnie | Jednostka | Opis |
|---|---|---|---|---|---|
prev_input | Poprzedni stan wejścia | BOOLEAN | false | Przechowuje poprzedni stan wejścia do wykrywania zboczy narastających i opadających. |
# Kod źródłowy
Pokaż kod Volang
channel = input::channel()
value = input::value()
if (channel == "input") {
prev_input = state::get("prev_input")
if (value and !prev_input) {
if (input::get("enable")) {
output::set("output", true)
}
}
if (!value and prev_input) {
output::set("output", false)
}
state::set("prev_input", value)
}
