Repository navigation
feat(parser_data_tamer): read data_tamer 2.x recordings (0.10.0) - #330
Open
facontidavide wants to merge 1 commit into
Open
facontidavide wants to merge 1 commit into
facontidavide wants to merge 1 commit into
Conversation
data_tamer 2.x writes schema version 5 (and YAML, version 6, from its ROS 2 publisher), which the bundled 1.0.3 parser rejects. The plugin now builds against the 2.x standalone parser, from facontidavide/data_tamer at a main commit pinned by SHA256 (to become the 2.0.0 tag), and still reads 1.x recordings (version 4). - data_tamer_v2/data_tamer_parser.hpp, BuildSchemaFromText(), and SplitMcapMessage() instead of the hand-written framing checks. - ParseSnapshot()'s result and exceptions become error statuses; parse() appends no partial record. Any std::exception is caught: the plugin is called through a C ABI. - bool stays bool; char is passed as its uint8 wire byte. - Schema texts without a "### version:" line (releases before 0.7.0) are rejected with a clear error. - Tests use real schema texts and check data_tamer's golden vectors (line and YAML schemas, full and masked snapshots, nested types, the 1.x v4 schemas) plus malformed framing, truncated fields and trailing bytes. Tested: Release build, no warnings in parser_data_tamer; 23/23 gtest cases, 7/7 ctest, with the pinned archive downloaded and hash-checked by CPM; pre-commit clean. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Fc2Mg5PYjZ4ap5DnC3nUHZ
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
parser_data_tamernow reads recordings of data_tamer 2.x as well as 1.x (manifest 0.10.0). data_tamer 2.x is a new major version, developed at https://github.com/facontidavide/data_tamer; PlotJuggler 4 is the release that reads its files.Changes
7b4dc82), since 2.0.0 is not tagged yet; a comment says the pin moves to the 2.0.0 tag once it is released. The include directory isdata_tamer_cpp/include(data_tamer_v2/data_tamer_parser.hpp).BuildSchemaFromText()replaces the misspelledBuilSchemaFromText().SplitMcapMessage()replaces the plugin's hand-written MCAP body framing.[[nodiscard]] boolresult ofParseSnapshot()is checked, and malformed input becomes an error status instead of a crash. Everything is caught asstd::exception, since this is a C ABI boundary.VarNumberalternatives map to their own types:boolstays boolean, andcharbecomes a uint8 byte.expected.json.Tested
Release build with 0 warnings; 23/23 gtest and 7/7 ctest, with the pinned archive downloaded and hash-checked by CPM; pre-commit clean.
Follow-ups
cmake/PjWasmDependencies.cmake) and never runs this CMake. When PJ4 updates its pin of this repository, it has to move to the same data_tamer 2.x commit.🤖 Generated with Claude Code
https://claude.ai/code/session_01UHSVkk2paVU7LhxqzUoHAH