> For the complete documentation index, see [llms.txt](https://docs.smart-stuff.nl/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.smart-stuff.nl/p1-modbus-dongle/firmware-v2-current/register-mapping/empro-mx3xx.md).

# EMPRO / MX3xx

## Mapping behaviour

* Device Manager mapping value: `6`
* Profile: `EMPRO`
* Read function codes: `FC03` and `FC04`
* Register widths: 32-bit entries unless a text/fill range is shown
* 32-bit word order: high word first (MSW-LSW)
* Unmapped register handling: Modbus exception

{% hint style="info" %}
Device ID, baud rate and serial format are global firmware v2 settings. They are not changed when this mapping is selected.
{% endhint %}

## Register overview

| Address (decimal / hex) | Words | Type      | Source or fixed value        | Conversion | Missing         |
| ----------------------- | ----: | --------- | ---------------------------- | ---------- | --------------- |
| `32774` / `0x8006`      |     2 | `float32` | `voltage_l1_v`               | —          | source\_default |
| `32776` / `0x8008`      |     2 | `float32` | `voltage_l2_v`               | —          | source\_default |
| `32778` / `0x800A`      |     2 | `float32` | `voltage_l3_v`               | —          | source\_default |
| `32782` / `0x800E`      |     2 | `float32` | `current_l1_a`               | —          | source\_default |
| `32784` / `0x8010`      |     2 | `float32` | `current_l2_a`               | —          | source\_default |
| `32786` / `0x8012`      |     2 | `float32` | `current_l3_a`               | —          | source\_default |
| `32798` / `0x801E`      |     2 | `float32` | `net_power_l1_kw`            | scale 1000 | source\_default |
| `32800` / `0x8020`      |     2 | `float32` | `net_power_l2_kw`            | scale 1000 | source\_default |
| `32802` / `0x8022`      |     2 | `float32` | `net_power_l3_kw`            | scale 1000 | source\_default |
| `32804` / `0x8024`      |     2 | `float32` | `net_power_l1_kw`            | scale 1000 | source\_default |
| `32806` / `0x8026`      |     2 | `float32` | `net_power_l2_kw`            | scale 1000 | source\_default |
| `32808` / `0x8028`      |     2 | `float32` | `net_power_l3_kw`            | scale 1000 | source\_default |
| `32790` / `0x8016`      |     2 | `float32` | `net_power_total_kw`         | scale 1000 | source\_default |
| `32792` / `0x8018`      |     2 | `float32` | `net_power_total_kw`         | scale 1000 | source\_default |
| `32816` / `0x8030`      |     2 | `float32` | `direction_l1`               | —          | source\_default |
| `32818` / `0x8032`      |     2 | `float32` | `direction_l2`               | —          | source\_default |
| `32820` / `0x8034`      |     2 | `float32` | `direction_l3`               | —          | source\_default |
| `32780` / `0x800C`      |     2 | `float32` | `constant 50.0f`             | —          | —               |
| `33024` / `0x8100`      |     2 | `float32` | `energy_delivered_total_kwh` | —          | source\_default |
| `33030` / `0x8106`      |     2 | `float32` | `energy_returned_total_kwh`  | —          | source\_default |
| `316` / `0x013C`        |     2 | `uint32`  | `constant 909127987`         | —          | source\_default |
| `318` / `0x013E`        |     2 | `uint32`  | `constant 942748210`         | —          | source\_default |
| `320` / `0x0140`        |     2 | `uint32`  | `constant 14644`             | —          | source\_default |
| `322` / `0x0142`        |     2 | `uint32`  | `constant 0`                 | —          | source\_default |
| `324` / `0x0144`        |     1 | `int16`   | `constant -1`                | —          | source\_default |

## Reading the table

* **Words** is the number of consecutive 16-bit Modbus registers occupied by the entry.
* **Source** names correspond directly to the firmware v2 recipe source.
* **Conversion** records the exact scale, transform or direction handling configured by the recipe.
* This page is generated from `mb_recipe.h` and `modbus_profiles.h` for firmware 2.3.0.
