# Edge Falling

This function block detects a falling edge (transition from True to False) on a boolean signal and produces a short trigger when that transition occurs. Use it to convert continuous boolean signals into single-step events for downstream blocks.

## 📥 Inputs <a href="#inputs" id="inputs"></a>

`Boolean` Receives the boolean signal to monitor for a falling edge.

## 📤 Outputs <a href="#outputs" id="outputs"></a>

`Boolean` Emits a short True pulse only when the input changes from True to False. Otherwise outputs False.

## 🕹️ Controls <a href="#controls" id="controls"></a>

This function block has no user-configurable controls in the UI. It works automatically once a boolean input is connected.

## ⚙️ Running mechanism <a href="#running-mechanism" id="running-mechanism"></a>

* The block keeps the previous input state internally.
* On each run it compares the current input to the stored previous state.
* If the previous state was True and the current state is False, the block outputs a single True pulse for that evaluation step.
* On the very first evaluation (no previous state), the block does not emit a pulse; it initializes its internal state with the first input value.

## ✨ Features <a href="#features" id="features"></a>

* Reliable falling-edge detection for triggering actions.
* Minimal and predictable output: a single-step pulse per falling transition.
* Useful for debouncing systems and converting level signals to events.

## 📝 Usage <a href="#usage" id="usage"></a>

1. Connect a boolean-producing block to the `Boolean` input (for example a manual `Logic Input` or a sensor/condition block).
2. Use the block's `Boolean` output to trigger downstream actions (logging, saving, changing state, etc.).
3. Combine with timing or debounce blocks if needed to avoid multiple triggers from noisy inputs.

## 💡 Tips and Tricks <a href="#tips-and-tricks" id="tips-and-tricks"></a>

* Combine with `Rising Edge` when you need to detect both transitions and treat them differently.
* Use `Delay Step`, `ON Delay` or `OFF Delay` to add simple timing or debounce before or after the falling-edge trigger.
* Pair the output with `Set - Reset` or `Counter` to latch a state or count the number of falling events.
* Use logical blocks like `And`, `Or` and `Not` to build more complex trigger conditions around the falling edge.
* Trigger exports and notifications by connecting the output to blocks such as `Image Logger`, `Image Write`, `Record Video`, `Send Mail`, or `MQTT Publish` to capture or notify on the event.
* For image-based workflows, use a camera input (for example `Camera USB` or `Camera IP (ONVIF)`) feeding an image display or logger — use the falling-edge output to capture a single frame with `Image Logger` or to open a viewer with `Show Image` only when the event occurs.

## 🛠️ Troubleshooting <a href="#troubleshooting" id="troubleshooting"></a>

* If you see no pulses, verify the upstream block is producing boolean values and that transitions from True to False actually occur.
* For noisy signals causing multiple unintended pulses, add a debounce using `Delay Step`, `OFF Delay`, or pre-filter the signal with logic blocks.
* If you need a longer trigger than a single-step pulse, use the falling-edge output to enable a downstream timing block (for example `ON Delay` or a small timer subsystem).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.augelab.com/function-blocks/data-logic/signal-operators/edge-falling.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
