# Pulse gate

Przetwarzanie

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

IDSkrótNazwaTypDomyślnieOpis
inputIWejścieBOOLEANfalseSygnał impulsowy. Zbocze narastające wyzwala sprawdzenie stanu wejścia zezwalającego w celu podjęcia decyzji o przekazaniu impulsu.
enableEZezwolenieBOOLEANtrueWejś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

IDSkrótNazwaTypDomyślnieOpis
outputOWyjścieBOOLEANfalsePrzekazany impuls. Odzwierciedla impuls wejściowy, gdy bramka jest aktywna.

# Stan

IDNazwaTypDomyślnieJednostkaOpis
prev_inputPoprzedni stan wejściaBOOLEANfalsePrzechowuje 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)
}
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.