Skip to content

radelbro/BimmerJson

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

BimmerJson

BimmerJson is a converter that takes the decompiled output from BimmerDis (b1v files) and converts it into readable, grouped, beautified JSON.

Overview

BimmerDis decompiles BMW diagnostic files into B1V format, exposing raw telegram data. BimmerJson extracts the telegram section (between TBEG "BETRIEBSWTAB" and TEND) and converts it into structured JSON for easier analysis and integration. When multiple rows share the same formatted DS2 telegram, they are grouped under a single telegram key, and the redundant TELEGRAM field is omitted from the parameter objects.

The converter supports two output modes:

  • Full Mode (default): Groups rows by the formatted telegram. Each key in the output object is the telegram (formatted as comma‑separated hexadecimal bytes with an appended DS2 checksum), and its value is an array of JSON objects containing all fields (except the duplicate TELEGRAM field).
  • Reduced Mode: Similar grouping is applied, but only the essential keys (NAME, BYTE, DATA_TYPE, FACT_A, FACT_B, MEAS, JOBNAME) are included in each parameter object.

Usage

Run the executable with the input B1V file and the desired output JSON file.

Optionally, specify the output mode as the third parameter:

BimmerJson.exe "C:\path\to\input.b1v" "C:\path\to\output.json" full

or

BimmerJson.exe "C:\path\to\input.b1v" "C:\path\to\output.json" reduced
  • Full Mode Example:
{
  "0x12, 0x5, 0xB, 0x03, 0x1F": [
    {
      "NAME": "N",
      "POS_ADR": "0",
      "LEN_ADR": "0",
      "ADR": "0",
      "BYTE": "3",
      "DATA_TYPE": "5",
      "COMPU_TYPE": "--",
      "FACT_A": "1,0",
      "FACT_B": "0",
      "MASK": "0",
      "VALUE": "0",
      "ANZ": "1.0",
      "MEAS": "1/min",
      "RANGE": " ",
      "JOBNAME": "STATUS_MOTORDREHZAHL",
      "LNAME": ""
    },
    {
      "NAME": "VS",
      "POS_ADR": "0",
      "LEN_ADR": "0",
      "ADR": "0",
      "BYTE": "5",
      "DATA_TYPE": "2",
      "COMPU_TYPE": "--",
      "FACT_A": "1,0",
      "FACT_B": "0",
      "MASK": "0",
      "VALUE": "0",
      "ANZ": "1.0",
      "MEAS": "km/h",
      "RANGE": " ",
      "JOBNAME": "STATUS_GESCHWINDIGKEIT",
      "LNAME": ""
    }
  ]
}
  • Reduced Mode Example:
{
  "0x12, 0x5, 0xB, 0x03, 0x1F": [
    {
      "NAME": "N",
      "BYTE": "3",
      "DATA_TYPE": "5",
      "FACT_A": "1,0",
      "FACT_B": "0",
      "MEAS": "1/min",
      "JOBNAME": "STATUS_MOTORDREHZAHL"
    },
    {
      "NAME": "VS",
      "BYTE": "5",
      "DATA_TYPE": "2",
      "FACT_A": "1,0",
      "FACT_B": "0",
      "MEAS": "km/h",
      "JOBNAME": "STATUS_GESCHWINDIGKEIT"
    }
  ]
}

About

Tool to convert decompiled BMW diagnostic B1V files into structured JSON.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published