# on\_rx\_packet()

Receives incoming packets.

```cpp
void on_rx_packet(mwx::packet_rx& pkt, bool_t &b_handled) 
```

When a wireless packet is received, this function is called from within the MWX library with the data stored in `pkt` as [packet\_rx](/latest_en/api-reference/classes/packet_rx.md). If this function is not defined in the application, a weak function that does nothing is linked.

Setting `b_handled` to *true* in this function tells the MWX library that the incoming packet has been processed in the application. If set to `processed', it suppresses unnecessary processing. (Do not process` the\_twelite.receiver\`)

{% hint style="warning" %}
When using [BEHAVIOR](/latest_en/api-reference/behavior.md), use the callback function in BEHAVIOR.
{% endhint %}

{% hint style="warning" %}
The `the_twelite.receiver` is not recommended.

The receiver was previously processed by `the_twelite.receiver` with the intention of describing it in `loop()`. However, `on_rx_packet()` was added because it is a delayed processing by a queue, which in principle causes overflow, and also because it tends to be complicated to describe.
{% endhint %}


---

# 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://mwx.twelite.info/latest_en/api-reference/sys_callbacks/on_rx_packet.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.
