Skip to content

Change [Arad / Master Meter Dialog3G] preamble alignment, overrides, and documentation#3489

Open
avicarmeli wants to merge 2 commits intomerbanan:masterfrom
avicarmeli:dialog3g-preamble-docs-pr
Open

Change [Arad / Master Meter Dialog3G] preamble alignment, overrides, and documentation#3489
avicarmeli wants to merge 2 commits intomerbanan:masterfrom
avicarmeli:dialog3g-preamble-docs-pr

Conversation

@avicarmeli
Copy link
Contributor

Improve robustness of the Arad / Master Meter Dialog3G decoder.

Preamble detection now uses a configurable nibble window inside the observed 48-bit preamble while payload extraction always aligns to the start of the full preamble. This keeps decoding stable even if the match window changes.

Add a diagnostic field "unmatched_preamble" which outputs the preamble nibbles outside the match window in inverted nibble form:

<before>_..._<after>

This helps analyze variants of the Dialog3G transmission.

Add decoder options:

  • mandatory serial input
  • gear override
  • unit override

These allow forcing decoding parameters when meter configuration or protocol variants differ from the automatically detected values.

Update protocol documentation to reflect observed messages:

  • the trailing FF byte is not constant
  • the serial suffix byte sometimes matches the printed meter letter
  • the suffix byte together with the following byte likely indicates meter unit and gear ratio

Add BitBench alignment reference:

PREAMBLE_ALIGN = c196f51385

(invert of 3e690aec7a)

Format string used for analysis:

UID:16h SERIAL:<24d 8h 8h
COUNTER:<32d 8h8h 8h8h 8h8h
SUFFIX:hh

Example frame used during analysis:

3e690aec7ac84b9aa50900404a7a02000c42bb5e8cc0f8

Improve robustness of the Arad / Master Meter Dialog3G decoder.

Preamble detection now uses a configurable nibble window inside the
observed 48-bit preamble while payload extraction always aligns to the
start of the full preamble. This keeps decoding stable even if the match
window changes.

Add a diagnostic field "unmatched_preamble" which outputs the preamble
nibbles outside the match window in inverted nibble form:

    <before>_..._<after>

This helps analyze variants of the Dialog3G transmission.

Add decoder options:
- mandatory serial input
- gear override
- unit override

These allow forcing decoding parameters when meter configuration or
protocol variants differ from the automatically detected values.

Update protocol documentation to reflect observed messages:

* the trailing FF byte is not constant
* the serial suffix byte sometimes matches the printed meter letter
* the suffix byte together with the following byte likely indicates
  meter unit and gear ratio

Add BitBench alignment reference:

    PREAMBLE_ALIGN = c196f51385

(invert of 3e690aec7a)

Format string used for analysis:

    UID:16h SERIAL:<24d 8h 8h
    COUNTER:<32d 8h8h 8h8h 8h8h
    SUFFIX:hh
@avicarmeli
Copy link
Contributor Author

Tested locally on Windows/MSVC and in GitHub CI.

Example frames used during analysis:
3e690aec7ac84b9aa50900404a7a02000c42bb5e8cc0f8
3e690aec7ac84b9aa50900404c7a02000c671a4f1a10f8

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant