Skip to content

fix: preserve multi-information groups - #3

Merged
Michael-F-Bryan merged 1 commit into
mainfrom
fix/multi-information
Aug 12, 2026
Merged

fix: preserve multi-information groups#3
Michael-F-Bryan merged 1 commit into
mainfrom
fix/multi-information

Conversation

@Michael-F-Bryan

Copy link
Copy Markdown
Contributor

PX4 M messages declare a complete typed value in each message, but the reader treated continuations as raw byte fragments of the first declaration. Zoda changes char[N] between continued entries, so dataset.Read stopped at the first one.

This decodes each value against its own declaration and preserves the protocol's ordered groups through Reader.MultiInformation and dataset.File.MultiInformation. It also retains PX4's empty char[0] separator values without weakening ordinary metadata or format validation.

Against the captured Zoda log, the Go reader now reaches EOF with 99 datasets, 3,598 records, 46 multi-information groups, and 396 values. The dataset, record, group, and value counts match pyulog; the captured log remains outside the repository.

@Michael-F-Bryan
Michael-F-Bryan marked this pull request as draft August 12, 2026 05:15
@Michael-F-Bryan
Michael-F-Bryan marked this pull request as ready for review August 12, 2026 05:15
@Michael-F-Bryan
Michael-F-Bryan merged commit 7b33437 into main Aug 12, 2026
4 checks passed
@Michael-F-Bryan
Michael-F-Bryan deleted the fix/multi-information branch August 12, 2026 05:18
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