{"id":15417319,"url":"https://github.com/karniv00l/mlg-converter","last_synced_at":"2025-08-11T20:13:02.123Z","repository":{"id":36970285,"uuid":"324623296","full_name":"karniv00l/mlg-converter","owner":"karniv00l","description":"🛠 CLI Tool and npm package 📦 for parsing and converting EFI Analytics (TunerStudio, MegaLogViewer, MegaSquirt, Speeduino) binary log files (.mlg) to a human readable formats","archived":false,"fork":false,"pushed_at":"2023-05-30T00:57:57.000Z","size":18935,"stargazers_count":23,"open_issues_count":7,"forks_count":6,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-08-09T10:58:58.095Z","etag":null,"topics":["cli","csv","efi-analytics","fome","json","megalogviewer","megasquirt","mlg","mlvlg","node","npm","parsing","speeduino","tunerstudio","virtual-dyno"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/karniv00l.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"karniv00l"}},"created_at":"2020-12-26T19:40:10.000Z","updated_at":"2025-07-23T23:54:48.000Z","dependencies_parsed_at":"2024-06-21T20:19:53.277Z","dependency_job_id":"2fb6e607-aaea-4f6d-970c-3e58066bee67","html_url":"https://github.com/karniv00l/mlg-converter","commit_stats":{"total_commits":266,"total_committers":3,"mean_commits":88.66666666666667,"dds":0.3157894736842105,"last_synced_commit":"3c4253bec864fe503da4a18f7298ba64f08af36a"},"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"purl":"pkg:github/karniv00l/mlg-converter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karniv00l%2Fmlg-converter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karniv00l%2Fmlg-converter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karniv00l%2Fmlg-converter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karniv00l%2Fmlg-converter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/karniv00l","download_url":"https://codeload.github.com/karniv00l/mlg-converter/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karniv00l%2Fmlg-converter/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269748220,"owners_count":24469107,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-10T02:00:08.965Z","response_time":71,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","csv","efi-analytics","fome","json","megalogviewer","megasquirt","mlg","mlvlg","node","npm","parsing","speeduino","tunerstudio","virtual-dyno"],"created_at":"2024-10-01T17:15:17.162Z","updated_at":"2025-08-11T20:13:02.100Z","avatar_url":"https://github.com/karniv00l.png","language":"TypeScript","funding_links":["https://github.com/sponsors/karniv00l"],"categories":[],"sub_categories":[],"readme":"# Binary MLG (MLVLG) log files converter\n\n![npm](https://img.shields.io/npm/v/mlg-converter)\n[![Maintainability](https://api.codeclimate.com/v1/badges/b778eac2cf95b273680b/maintainability)](https://codeclimate.com/github/karniv00l/mlg-converter/maintainability)\n[![Minimum Node.js Version](https://img.shields.io/badge/node-%3E%3D%2014.0.0-brightgreen)](https://nodejs.org/)\n![License](https://img.shields.io/github/license/karniv00l/mlg-converter)\n[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fkarniv00l%2Fmlg-converter.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2Fkarniv00l%2Fmlg-converter?ref=badge_shield)\n\nSimple tool for parsing and converting `EFI Analytics (TunerStudio, MegaLogViewer)` binary log files (`.mlg`) to a human readable formats like:\n\n- `.csv` - semicolon (`;`) separated (`Virtual Dyno`, spreadsheets, etc.)\n- `.json` - JSON raw data\n- `.msl` - ASCII format (`TunerStudio`, `MegaLogViewer`)\n\nOr just can be used as a Node library producing JS `plain object`.\n\n## Caveats\n\n- `MLVLG` also carries data type called `Marker`s (graphical marks used for indicating specific events). They **will be stripped** in `.csv` files.\n- **minimum** Node version: `14.x`.\n\n```bash\n# single file, multiple formats\nnpx mlg-converter --format=csv,msl,json log1.mlg\n\n# single format, multiple files\nnpx mlg-converter --format=msl log1.mlg log2.mlg log3.mlg\n```\n\n## Using parser as a `npm` package\n\n```bash\nnpm install --save mlg-converter\n```\n\n```js\nconst fs = require('fs');\nconst { Parser } = require('mlg-converter');\n\nconst b = fs.readFileSync('./test/data/short.mlg');\nconst arrayBuffer = b.buffer.slice(b.byteOffset, b.byteOffset + b.byteLength);\nconst result = new Parser(arrayBuffer)\n  .parse((percent) =\u003e console.log(percent));\n\nconsole.dir(result, { maxArrayLength: 1 }); // =\u003e\n\n{\n  fileFormat: 'MLVLG',\n  formatVersion: 1,\n  timestamp: 2020-12-28T12:30:43.000Z,\n  info: 'speeduino 202009-dev: Speeduino 2020.09-dev\\n' +\n    'Capture Date: Mon Dec 28 13:30:43 CET 2020',\n  bitFieldNames: \"\",\n  fields: [\n    {\n      name: 'Time',\n      units: 's',\n      displayStyle: 'Float',\n      scale: 1,\n      transform: 0,\n      digits: 3\n    },\n    ... 68 more items\n  ],\n  records: [\n    {\n      type: 'field',\n      timestamp: 15081,\n      Time: 0,\n      SecL: 8,\n      RPM: 0,\n      MAP: 10,\n      MAPxRPM: 0,\n      TPS: 0,\n      AFR: 110,\n      Lambda: 0.7482993006706238,\n      IAT: 54,\n      CLT: 68,\n      Engine: 0,\n      DFCO: 0,\n      Gego: 100,\n      Gair: 0,\n      Gbattery: 100,\n      Gwarm: 0,\n      Gbaro: 0,\n      Gammae: 0,\n      'Accel Enrich': 0,\n      'Current VE': 70,\n      VE1: 70,\n      VE2: 0,\n      PW: 0,\n      'AFR Target': 0,\n      'Lambda Target': 0,\n      PW2: 0,\n      DutyCycle1: 0,\n      DutyCycle2: 0,\n      'TPS DOT': 0,\n      Advance: 24,\n      Dwell: 0,\n      'Battery V': 71,\n      'rpm/s': 0,\n      'Boost PSI': -13.198457717895508,\n      'Boost Target': 0,\n      'Boost Duty': 0,\n      'Boost cut': 0,\n      'Hard Launch': 0,\n      'Hard Limiter': 0,\n      'Idle Control': 1,\n      'IAC value': 34,\n      'Idle Target RPM': 85,\n      'Idle RPM Delta': 850,\n      'Baro Pressure': 101,\n      'Sync Loss #': 0,\n      VSS_RAW: 0,\n      Clutch_RAW: 1,\n      Aux2: 0,\n      Aux3: 0,\n      Aux4: 0,\n      Aux5: 0,\n      Aux6: 0,\n      Aux7: 0,\n      Aux8: 0,\n      Aux9: 0,\n      Aux10: 0,\n      Aux11: 0,\n      Aux12: 0,\n      Aux13: 0,\n      Aux14: 0,\n      Aux15: 0,\n      'Advance 1': 24,\n      'Advance 2': 0,\n      'Trip Meter Miles': 0,\n      'Odometer Miles': 11.340239524841309,\n      'Vehicle Speed': 0,\n      Power: 0,\n      Torque: 0,\n      Odometer_Miles: 11.340239524841309\n    },\n    ... 51 more items\n  ]\n}\n```\n\n## Developing\n\n```bash\nnpm install\nnpm run build\nnpm test\n```\n\n## License\n\n[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2Fkarniv00l%2Fmlg-converter.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2Fkarniv00l%2Fmlg-converter?ref=badge_large)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkarniv00l%2Fmlg-converter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkarniv00l%2Fmlg-converter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkarniv00l%2Fmlg-converter/lists"}