> For the complete documentation index, see [llms.txt](https://docs.augelab.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.augelab.com/function-blocks/blocks-reference/data-logic/signal-operators/edge-rising.md).

# Edge Rising

This function block detects when a boolean signal transitions from False to True (a rising edge). Use it to trigger actions only once when an input turns on, preventing repeated triggers while the input stays True.

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

`Input` A boolean signal to be monitored for a rising edge.

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

`Output` A boolean that becomes True for one evaluation step when a rising edge is detected, otherwise False.

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

This block has no interactive controls. It operates automatically on its input signal.

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

* Single-step trigger on rising transitions: the block outputs True only once when the input changes from False to True.
* Simple state memory: the block remembers the previous input state to detect transitions.
* Lightweight and fast: suitable for use in logic flows where one-shot triggering is required.

## ⚙️ How it works <a href="#how-it-works" id="how-it-works"></a>

On each run, the block compares the current boolean input to its remembered previous state. If the previous state was False and the current input is True, the block emits a single True on the `Output` for that run. If the input remains True on subsequent runs, the block keeps the `Output` False until the input goes False and rises again.

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

1. Connect a boolean source (e.g., a sensor signal or a manual switch) to the `Input`.
2. Use the block's `Output` to drive actions that should occur only once per activation (for example, start a recording, log an event, or open a window).
3. If you need to reset or re-arm the trigger logic based on other conditions, combine this block with logic blocks listed below.

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

* Combine with `Logic Input` to test manual triggers from the UI.
* Use together with `Delay Step` to add a one-step delay before downstream processing.
* Pair with `Edge Falling` to detect both rising and falling transitions for complete edge monitoring.
* Use alongside `Set - Reset` or `Counter` to implement latch or counting behavior that reacts once per activation.
* Chain with logical blocks such as `And`, `Or`, or `Not` to build more complex trigger conditions (for example: trigger only when a condition is true AND a rising edge occurs).
* When feeding visual actions, connect the `Output` to blocks like `Show Image` to display results only when activation happens.

(hint) For flows where multiple boolean signals must all trigger together, precede this block with `All True` to reduce false triggers.

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

* If the block never outputs True: ensure the connected boolean signal actually changes from False to True (not from None or a constant True).
* If the block outputs True repeatedly while the input stays True: make sure no upstream logic is repeatedly toggling the input; the block only emits True on a transition from False to True.
* If you need to re-arm the trigger after an action, use a combination of boolean logic blocks (for example `Set - Reset`) to control when the monitored input is allowed to produce a new rising edge.
