OpenRemap Docs

Contribute

If your ECU comes out as Unknown, you can add it. The wizard measures your own files and writes what a developer needs — your binary is never uploaded or shared.

contribute extractor

What it is: reads one or more of your dumps, finds byte patterns that are stable across them, and (with --write) generates the files a pull request needs.

Start with a look — no repository, no family name, nothing written:

openremap contribute extractor dump_a.bin dump_b.bin --measure-only
  MEASUREMENT ONLY — no collision check, no marker recommended, nothing written.

  GS20_90C0_64KB.bin             65,536 bytes   claimed by openremap…siemens.gs20.extractor
      identify: Siemens GS20 · strong · sw=7557997
  GS20_90C0_64KB_mod_tcc.bin     65,536 bytes   claimed by openremap…siemens.gs20.extractor
      identify: Siemens GS20 · strong · sw=7557997

  What your dumps can prove  ONE calibration
      Every dump identifies as the same calibration (GS20::7557997).
      What is stable across them may be that calibration's version string rather than
      the family's signature — bring a dump from a different year/model to prove it.

  note: an extractor already claims this dump — the engine knows this family.

  Runs stable across your dumps (unranked — not checked for collisions)
     104  'G2210_0090C0AD10G2210_0090C0AD10G2210_0090C0AD10'
     104  'N{4{4{4{4{4{4{4R8fF33333333333333'
     100  'B30E46ECE.C6TDGADC89_J'

Notice what it says about the two files above: they are one calibration, and an extractor already knows this family. Two dumps of one calibration cannot prove a pattern is family-wide — that is why the verdict line exists.

Then, from a checkout with the family name:

openremap contribute extractor dump_a.bin dump_b.bin \
    --brand X --family Y --write

That writes four artifacts: an extractor, a test, a report, and a synthetic fixture carrying only the marker — never your dump.

contribute check

What it is: runs the review bar over an extractor somebody wrote, and says whether it still passes.

openremap contribute check path/to/extractor.py

Useful before opening a pull request, and after changing an extractor that is already merged.

What travels, and what does not

Travelled Never travelled
a short byte pattern (the marker) your dump
which identity fields were measured your VIN or serial numbers
a synthetic fixture built from the marker anything from the file that is not the marker

Where to go next

You want to… Go to
understand what an extractor is Extractors
read the contributor guide Contributing
do the same thing with keys CONTRIBUTE screen