Skip to content

feat: read appended data sections - #9

Merged
Michael-F-Bryan merged 1 commit into
mainfrom
fix/appended-data-sections
Aug 28, 2026
Merged

Michael-F-Bryan merged 1 commit into
mainfrom
fix/appended-data-sections

Conversation

@Michael-F-Bryan

Copy link
Copy Markdown
Contributor

ULog Reader currently refuses files with DATA_APPENDED, which prevents buttctl logs inspect from reading PX4 logs containing appended hardfault data. The captured bench log ends part-way through a D payload, then starts a complete M hardfault message at the advertised offset, so merely ignoring the incompatibility flag would consume the appended message header as missing payload bytes.

This makes the streaming reader track its absolute byte position and treat each advertised offset as a section boundary. A header or payload interrupted by that boundary is discarded only up to the offset, then parsing resumes with the existing formats and subscriptions. Appended offsets are validated as present and strictly increasing; the public io.Reader API remains unchanged and does not require seeking.

With this branch, the original 17.8 MB bench log decodes through buttctl logs inspect as 290,037 records and includes the appended hardfault_plain multi-information group.

Signed-off-by: Michael-F-Bryan <michael.bryan@sunfishrobotics.com>
@Michael-F-Bryan
Michael-F-Bryan marked this pull request as ready for review August 28, 2026 05:28
@Michael-F-Bryan
Michael-F-Bryan merged commit 14206a2 into main Aug 28, 2026
4 checks passed
@Michael-F-Bryan
Michael-F-Bryan deleted the fix/appended-data-sections branch August 28, 2026 05:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant