feat: add manifest-driven simulator configuration workflow - #14
Open
matthewrossi wants to merge 6 commits into
Open
feat: add manifest-driven simulator configuration workflow#14matthewrossi wants to merge 6 commits into
matthewrossi wants to merge 6 commits into
Conversation
Add river-manifest to discover Simulink models from ELF/DWARF metadata, generate editable YAML hook manifests, and compile refined manifests into the simulator’s existing JSON configuration format. Validate symbols, instruction offsets, build IDs, data addresses, signal limits, and model selections; infer post-output hooks and solver cadence. Document the workflow and add a make target for manifest generation.
List each model function once and select its probe phase in active hooks. Resolve entry, return, and post-output phases during compilation, while allowing validated custom instruction offsets for manual probe points.
Only expose scalar float64 values as supported manifest data and retain unsupported entries with an explanatory reason. Validate selected data ranges against the target ELF, allowing parameter writes when their load segment is writable. Rename configuration APIs and diagnostics to use simulator terminology, and document the supported state and parameter behavior.
Allow manifests to define custom float64 inputs, outputs, and states through ELF virtual addresses, and resolve manual hooks through explicit symbols. Add timer_hook selection and allow compilation without DWARF when all selected data and hooks are explicitly specified. Generate an editable skeleton for binaries without a recognized Simulink model, document the manual workflow, and cover it with no-DWARF manifest tests. Update the M4 trajectory signal names and ignore the root river-manifest build artifact.
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.
Adds river-manifest, a CLI that discovers supported Simulink C++ model data from ELF/DWARF metadata, generates editable YAML manifests, and compiles refined manifests into the simulator’s existing JSON configuration format.