> 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.md).

# Register mappings

Firmware v2 contains all selectable mapping profiles in one firmware image. Selecting a mapping changes only the exposed register model. It does not change the Modbus device ID, baud rate or serial format.

## Global communication settings

The factory defaults are device ID `43`, `38400` baud and `8E1`. These are global settings and can be changed independently in the Device Manager.

Both `FC03` and `FC04` read the active mapping. The preferred configuration method is the Device Manager. Firmware v2 also accepts these global `FC06` writes:

| Address | Setting              | Values                                    |
| ------: | -------------------- | ----------------------------------------- |
|     `0` | Device ID            | `1-254`                                   |
|     `2` | Serial format offset | `46-91`                                   |
|     `4` | Baud-rate index      | `0-4` = 9600, 19200, 38400, 57600, 115200 |
|     `8` | Mapping              | Mapping value from the table below        |

## Mapping overview

| Value | Mapping                                                                                                    | Profile      | Firmware 2.3.0 status       |
| ----: | ---------------------------------------------------------------------------------------------------------- | ------------ | --------------------------- |
|   `0` | [Default - TeltoCharge](/p1-modbus-dongle/firmware-v2-current/register-mapping/default-p1.md)              | `P1M`        | Active                      |
|   `1` | [SDM630](/p1-modbus-dongle/firmware-v2-current/register-mapping/sdm630.md)                                 | `SDM630`     | Active                      |
|   `2` | [DTSU666](/p1-modbus-dongle/firmware-v2-current/register-mapping/dtsu666.md)                               | `DTSU666`    | Active                      |
|   `3` | [Alfen](/p1-modbus-dongle/firmware-v2-current/register-mapping/alfen.md)                                   | `ALFEN`      | Active                      |
|   `4` | [EM330](/p1-modbus-dongle/firmware-v2-current/register-mapping/em330.md)                                   | `EM330`      | Active                      |
|  `14` | [EM111](/p1-modbus-dongle/firmware-v2-current/register-mapping/em111.md)                                   | `EM111`      | Active                      |
|   `5` | [ABB B21](/p1-modbus-dongle/firmware-v2-current/register-mapping/abb-b21.md)                               | `ABB_B21`    | Active                      |
|   `6` | [EMPRO / MX3xx](/p1-modbus-dongle/firmware-v2-current/register-mapping/empro-mx3xx.md)                     | `EMPRO`      | Active                      |
|   `7` | [Default - floats](/p1-modbus-dongle/firmware-v2-current/register-mapping/default-floats.md)               | `P1M_F`      | Active                      |
|   `8` | [KLEFR / Inepro](/p1-modbus-dongle/firmware-v2-current/register-mapping/klefr-inepro.md)                   | `KLEFR`      | Active                      |
|   `9` | [Phoenix Contact EEM / XM3xx](/p1-modbus-dongle/firmware-v2-current/register-mapping/phoenix-eem-xm3xx.md) | `PHOENIX`    | Active                      |
|  `10` | [Charge Pro](/p1-modbus-dongle/firmware-v2-current/register-mapping/charge-pro.md)                         | `CHARGE`     | No recipe assigned in 2.3.0 |
|  `11` | [DRIS](/p1-modbus-dongle/firmware-v2-current/register-mapping/dris.md)                                     | `DRIS`       | No recipe assigned in 2.3.0 |
|  `12` | [Wallbox - P1MB](/p1-modbus-dongle/firmware-v2-current/register-mapping/wallbox-p1mb.md)                   | `XEMEX`      | Active                      |
|  `13` | [SolarEdge](/p1-modbus-dongle/firmware-v2-current/register-mapping/solaredge.md)                           | `SE`         | Active                      |
|  `15` | [SunSpec 203](/p1-modbus-dongle/firmware-v2-current/register-mapping/sunspec-203.md)                       | `SUNSPEC203` | Active                      |

{% hint style="warning" %}
Charge Pro and DRIS are selectable in firmware 2.3.0, but no register recipes are assigned to their profiles. See their pages for details.
{% endhint %}

## Register table conventions

Each mapping page is generated from the active firmware v2 recipe and profile definitions. Addresses are shown in decimal and hexadecimal. A 32-bit value occupies two consecutive 16-bit Modbus registers.
