https://github.com/sashgorokhov/mavlog2csv
Convert ardupilot telemetry/dataflash log into csv with selected columns
https://github.com/sashgorokhov/mavlog2csv
ardupilot blackbox dataflash telemetry
Last synced: 4 months ago
JSON representation
Convert ardupilot telemetry/dataflash log into csv with selected columns
- Host: GitHub
- URL: https://github.com/sashgorokhov/mavlog2csv
- Owner: sashgorokhov
- License: mit
- Created: 2023-09-19T18:01:30.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-09-19T23:59:40.000Z (over 2 years ago)
- Last Synced: 2025-01-04T18:24:49.812Z (about 1 year ago)
- Topics: ardupilot, blackbox, dataflash, telemetry
- Language: Python
- Homepage:
- Size: 32.2 KB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# mavlog2csv
[](https://github.com/sashgorokhov/mavlog2csv/actions/workflows/test_and_build.yml)
[](https://github.com/psf/black)

Simple python script that converts ardupilot log into csv. You can specify required telemetry values.
Tested with `.bin` files, will most probably work with `.log` files.
You can even try to specify linux device or comport!
> Mission planner telemetry logs are stored in `Documents\Mission Planner\logs`
I used https://github.com/ArduPilot/pymavlink/blob/master/tools/mavlogdump.py as reference on how to work with telemetry log files.
This script is fully typed and tested. This repository has pre-commit hooks setup and and github actions CI, which builds windows `.exe` on every commit into `main`.
## Usage
Always refer to `--help`.
```text
usage: mavlog2csv.py [-h] [-o OUTPUT] -c COL [--skip-n-arms SKIP_N_ARMS] input
positional arguments:
input Input file name.
optional arguments:
-h, --help show this help message and exit
-o OUTPUT, --output OUTPUT
Output file name. If not set, script will output into stdout.
-c COL, --col COL Specify telemetry columns to output. Format: .. For example: GPS.Lng
--skip-n-arms SKIP_N_ARMS
If there are multiple arm events in the log, skip this number of arms before writing any rows at all. If you setup to log only after autopilot was armed, then first arm event wont be stored in the log.
```
### Examples
```shell
python mavlog2csv.py -c GPS.Lat -c GPS.Lng "log.bin"
"TimeUS","TimeS","Date","Time","GPS.Lat","GPS.Lng"
"1411152456","1411.15","2023-09-17","13:54:04.960011","30.532045399999998","-97.6290581"
...
```
Output GPS Longitude and latitude and airspeed sensor readings
```shell
python mavlog2csv.py -c GPS.Lng -c GPS.Lat -c ARSP.Airspeed -o output.csv "2023-09-17 13-34-16.bin"
```
This snippet I find especially useful
```shell
mavlog2csv.exe -c GPS.Lat -c GPS.Lng -c ARSP.Airspeed -c POS.RelHomeAlt -c ATT.Roll -c ATT.Pitch -c ATT.Yaw -c BAT.Volt -c BAT.Cur -c GPS.GCrs -c GPS.VZ -c AETR.Thr -o "C:\Users\Alexander\Desktop\parsed.csv" "C:\Users\Alexander\Documents\Mission Planner\logs\FIXED_WING\1\2023-09-17 13-34-16.bin"
```
## Installation
For windows users, this repository offers an all-in-one `.exe`. You can download it [here](https://github.com/sashgorokhov/mavlog2csv/releases/download/latest/mavlog2csv.exe).
Usage
```shell
mavlog2csv.exe --help
```
### Feeling brave?
```shell
pip install pip install https://github.com/sashgorokhov/mavlog2csv/archive/refs/heads/main.zip
mavlog2csv --help
```