https://github.com/nerdcopter/blackbox_csv_render
https://github.com/nerdcopter/blackbox_csv_render
Last synced: 4 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/nerdcopter/blackbox_csv_render
- Owner: nerdCopter
- License: agpl-3.0
- Created: 2025-04-09T20:56:25.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2026-01-22T18:16:18.000Z (5 months ago)
- Last Synced: 2026-01-23T08:33:39.740Z (5 months ago)
- Language: Rust
- Size: 1.52 MB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Agents: AGENTS.md
Awesome Lists containing this project
README
## This is an experimental RUST program, mostly created via A.I., to read Betaflight Blackbox CSV and produce meaningful graphs.
### Prerequisites
1. https://www.rust-lang.org/tools/install
2. [blackbox_decode](https://github.com/betaflight/blackbox-tools) your BBL to CSV (`--save-headers`, `--index `, and `--limits` parameters may be useful)
### Build
```shell
cargo build --release
```
### Usage
```shell
Usage: ./BlackBox_CSV_Render [ ...] [--dps []] [--out-dir ]
: Path to one or more input CSV log files (required).
--dps []: Optional. Enables detailed step response plots.
If (deg/s threshold) is provided, it's used.
If is omitted, defaults to 500.
If --dps is omitted, a general step-response is shown.
--out-dir []: Optional. Specifies the output directory for generated plots.
If omitted, plots are saved in the current directory.
If specified without a directory, plots are saved in the input file's directory.
Arguments can be in any order. Wildcards (e.g., *.csv) are supported by the shell.
```
### Example execution commands
```shell
./target/release/BlackBox_CSV_Render path/to/BTFL_Log.csv
```
```shell
./target/release/BlackBox_CSV_Render path/to/*LOG*.csv --dps
```
```shell
./target/release/BlackBox_CSV_Render path1/to/BTFL_*.csv path2/to/EMUF_*.csv --dps 360 --out-dir ./plots
```
### Output
- PNG files are generated in the current directory, unless specified by the `--out-dir` parameter.
### Code Overview
For a detailed explanation of the program's functionality, especially the step-response calculation and comparison with other tools like PIDtoolbox (Matlab) and PlasmaTree PID-Analyzer (Python), please see [Overview.md](Overview.md).
### Licensing still under consideration.
- Some resources used for the AI prompting included the following, but only for inspiration.
- No code was reused as reported by AI interrogation, and therefore do not require their associated licensing.
- https://github.com/KoffeinFlummi/bucksaw/ with GPL v3.
- https://github.com/Plasmatree/PID-Analyzer/ with Apache License 2.0 and "THE BEER-WARE LICENSE" (Revision 42).
- https://github.com/bw1129/PIDtoolbox/ with GPL v3 and "THE BEER-WARE LICENSE" (Revision 42).