You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
docs: update GOALS.md to reflect current v0.9.0 implementation status
Completed Goals updates:
- Add C blackbox-tools reference alongside JavaScript blackbox-log-viewer
- Include H-frame GPS home position parsing as completed
- Add G-frame GPS parsing and GPX file export as completed
- Add E-frame event parsing and JSONL event export as completed
- Update technical descriptions with more precision (coordinate conversion, FlightLogEvent enum)
- Replace test accuracy claims with extensive Betaflight/EmuFlight testing status
Remaining Work updates:
- Remove completed GPS and Event parsing features from remaining work
- Focus on optimization, enhanced error handling, and comprehensive testing
- Add performance optimization for very large files (>1M frames)
- Include API documentation and library stability as priorities
- Add extended firmware compatibility testing and advanced filtering options
GOALS.md now accurately reflects that core GPS and Event functionality is
implemented while remaining work focuses on refinement and optimization.
Implement the actual BBL binary format specification by explicitly replicating the JavaScript code from the Betaflight blackbox-log-viewer repository using the following sources:
Implement the actual BBL binary format specification by explicitly replicating the JavaScript code and/or the C code from the Betaflight blackbox-log-viewer and/or blackbox_decode using the following sources:
The goal is to fully read, parse and decode binary BBL files. Do not re-invent, explicitly use the javascript as a source to create the RUST project's code.
46
+
The goal is to fully read, parse and decode binary BBL files. Do not re-invent, explicitly use the javascript and C as a source to create the RUST project's code.
47
+
48
+
### P, I, S frames:
50
49
51
50
Every BBL contains headers in plaintext which contain important information about the aircraft's settings, but more importantly, they contain details about the binary data and how to decode them:
52
51
`Field I name`
@@ -62,18 +61,8 @@ Every BBL contains headers in plaintext which contain important information abou
62
61
63
62
Each BBL may or may not contains multiple flights logs. Each flight log starts with it's own set of plaintext headers. Each flight log within a BBL will contain I frames and P frames, and maybe contain E frames and S frames and G frames. G frames are GPS. H frames are GPS home position markers.
64
63
65
-
**IMPLEMENTATION NOTE:** Our RUST parser successfully handles I, P, S frames with high accuracy. E-frames (events) are parsed but not included in CSV output as they represent discrete events rather than continuous flight data.
66
-
67
64
Binary utility `blackbox_decode` outputs useful statistics and creates `.csv`, `.gpx`, and `.event` files that contain the flightlog data. We can use it for data comparison, but do not embed nor call binary tools from within the RUST program. `blackbox_decode --limits` can be used for any `*.BBL` file. The `--limits` is only useful to see the min and max `loopIteration` and `time`.
68
65
69
-
**TESTING STATUS:** Parser successfully processes both Betaflight and EmuFlight BBL files with 98%+ accuracy compared to reference implementations.
70
-
71
-
Please use `timeout` when testing BBL parsing. I would expect it not to take over 60s unless debug output slows the process. Do not set a timeout less than 15s because it is too short.
72
-
73
-
We can use the older blackbox_decode (a.k.a blackbox-tools) project https://github.com/betaflight/blackbox-tools/blob/master/src/blackbox_decode.c for further analysis and comaprison.
74
-
75
66
Two RUST projects on github that may help or may hinder, i do not know. I never inspected the first, and the second is betaflight version specific and not up to date for Betaflight 4.6.
76
67
1)https://github.com/ilya-epifanov/fc-blackbox
77
68
2)https://github.com/blackbox-log/blackbox-log
78
-
79
-
Use `.github/copilot-instructions.md`; request clarification if needed.
0 commit comments